PHP日期格式基本转换不起作用
正在尝试将日期转换为mysql格式:Y-m-d H:i:s 我知道这是一个非常基本的问题,还有很多关于同一主题的其他问题,但我已经在这个问题上纠缠了一段时间了,我不知道我这里有什么错PHP日期格式基本转换不起作用,php,datetime,Php,Datetime,正在尝试将日期转换为mysql格式:Y-m-d H:i:s 我知道这是一个非常基本的问题,还有很多关于同一主题的其他问题,但我已经在这个问题上纠缠了一段时间了,我不知道我这里有什么错 <?php $user_date = '07/06/2011 06:03'; //$date = date('Y-m-d H:i:s', strtotime(str_replace('/', '-', $user_date))); $date = DateTime::createFromFormat('
<?php
$user_date = '07/06/2011 06:03';
//$date = date('Y-m-d H:i:s', strtotime(str_replace('/', '-', $user_date)));
$date = DateTime::createFromFormat('d/m/Y H:i', $user_date)->format('Y-m-d H:i:s');
/* $oDate = new DateTime();
$oDate->createFromFormat('d/m/Y H:i', $user_date);
$date = $oDate->format('Y-m-d H:i:s'); */
if($date == '' || $date = '1970-01-01 00:00:00'){
die('no-'.$date);
}
die('yes-'.$date);
试试这个:
$date = date("Y-m-d H:i:s",strtotime($user_date));
试试这个:
$date = date("Y-m-d H:i:s",strtotime($user_date));
你的问题就在这里:
if($date == '' || $date = '1970-01-01 00:00:00'){
die('no-'.$date);
}
您使用了single而不是double equals,因此第二个“check”分配了该值,并返回该值而不是进行比较
PHP认为非空字符串为true
,因此满足了条件。您的问题就在这里:
if($date == '' || $date = '1970-01-01 00:00:00'){
die('no-'.$date);
}
您使用了single而不是double equals,因此第二个“check”分配了该值,并返回该值而不是进行比较
PHP认为非空字符串为真
,因此满足了条件。您的问题没有清楚地解释什么是坏的。您希望变量$date
包含什么?@MathewFoscarini很明显它对我起作用的目的是什么。@maghtyperk很好,现在他编辑了它。。)@John Magnolia你现在能接受答案吗?你的问题不能清楚地解释什么是坏的。您希望变量$date
包含什么?@MathewFoscarini很明显它对我起作用的目的是什么。@maghtyperk很好,现在他编辑了它。。)@John Magnolia你现在可以接受答案了吗?天哪,我讨厌去想我因此损失了多少小时。我养成了常量==$variable
的习惯,以避免作业陷阱。在这种情况下,'1970-01-01 00:00:00'=$date
会立即说明这一点。@bishop我看到过这种用法,我想知道人们为什么这样做。谢谢你澄清:)天哪,我讨厌去想我因此损失了多少小时。我养成了常量==$variable
的习惯,以避免作业陷阱。在这种情况下,'1970-01-01 00:00:00'=$date
会立即说明这一点。@bishop我看到过这种用法,我想知道人们为什么这样做。谢谢你整理:)