我有一些代码,似乎没有正常工作。
我正在尝试将其设置为我的数据库的正确格式。我正在做以下事情:
date('Y-m-d H:i:s', strtotime('24/05/2011'));
但每当我回应它时,它都会返回:
1970-01-01 10:00:00
答案 0 :(得分:3)
的文件日期为m / d / y或d-m-y格式 通过观察来消除歧义 各种之间的分隔符 组件:如果分隔符是 斜线(/),然后是美国的m / d / y 假定;而如果分隔符是a 破折号( - )或点(。),然后是 假设欧洲d-m-y格式。
这应该有效
date('Y-m-d H:i:s', strtotime('05/24/2011'));
答案 1 :(得分:1)
只是一个猜测,但试试这个:
date('Y-m-d H:i:s', strtotime('24/05/2011 00:00:00'));
经过测试,它表明这有效:
echo date('Y-m-d H:i:s', strtotime("24-5-2011"));
答案 2 :(得分:1)
这意味着您的strtotime
函数无法解析该日期。当它失败时,它返回false
date
读取为0,这是UNIX纪元。正如程序员XR建议的那样,您可能需要稍微切换一下格式 - 如果他说的不起作用,请尝试将datetime
转换为以下格式:
date('Y-m-d H:i:s', strtotime('2011-05-24 00:00:00'));
答案 3 :(得分:0)
首先,它不是date()而是strtotime()。 接下来,strtotime()不是一个魔杖,阅读你的思想并理解任何格式 它只是一个功能,接受某些论点。 因此,如果它返回错误的值 - 检查输入参数并阅读手册以查看它们是否正确。
第三,无论如何你都不需要这么复杂的功能。您只需要几个字符串操作:
list($d,$m,$y) = explode("/",$date);
$date = "$y-$m-$d";
了解字符串操作是使用PHP的最重要的事情。