我有一个问题,我已经处理了很长时间的
请看下面的代码:(我在右边评论了我调试变量时得到的值)
当输入为例如"0000-00-00 00:00:00"时
$date1 = ($date['confirmed_at']); //value of $date1 is "0000-00-00 00:00:00"
$date2 = strtotime($date1); //value of $date2 is "1"
$date3 = date('y-m-d',$date2); //value of $date3 is "70-01-01"
当输入为例如"2011-09-12 08:57:26"时
$date1 = ($date['confirmed_at']); //value of $date1 is "2011-09-12 08:57:26"
$date2 = strtotime($date1); //value of $date2 is "1315817846"
$date3 = date('y-m-d',$date2); //value of $date3 is "11-09-12"
我有点困惑于我一直得到的价值观。。。我所要做的就是取当前为"YYYY-MM-DD HH-MM-SS"的日期,并将其转换为"YYYY-MM-DD"格式
您在第一个示例中看到的结果是,strtotime()
返回一个unix时间戳,即自1970年1月1日以来的秒数。它就是不能返回任何对0000-00-00 00:00:00
有意义的东西。
对于YYYY-MM-DD
格式,使用date('Y-m-d')
使用"日期('Y-m-d',$date2)"作为YYYY-MM-DD格式
strtotime("0000-00-00 00:00:00")
的结果可能因PHP版本和操作系统而异,因此使用strtotime
作为零日期"0000-00-00 00:00:00"
毫无意义。