将转换时间混淆为mktime

时间:2013-04-11 04:23:27

标签: php

我使用strtotime函数将日期转换为时间戳,如

    echo strtotime('4-5-2013');

给出结果1367618400.这是对的。我的问题是,如果日期是格式mm-dd-yyyy而不是dd-mm-yyyy。例如,同一日期是5月4日而不是4月5日。

3 个答案:

答案 0 :(得分:4)

strtotime将-中的dd-mm-yyyy字符串视为/,将mm/dd/yyyy视为4-5-2013

4/5/2013将是4-may

{{1}}将是5 apr

通过查看各个组件之间的分隔符来消除m / d / y或d-m-y格式的日期:如果分隔符是斜杠(/),则假设为美国m / d / y;而如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。

参考:http://php.net/manual/en/function.strtotime.php

答案 1 :(得分:1)

根据您的最新评论

你可以使用

echo date("M-d-Y", mktime(0, 0, 0, 12, 31, 1997)); 

传递任何格式并使用mktime函数。

答案 2 :(得分:0)

echo strtotime('5-4-2013');//Oupt puts 1367650800

echo strtotime('4-5-2013');//Oupt puts 1367618400