我正在使用strtotime
函数将日期转换为时间戳,例如
echo strtotime('4-5-2013');
它给出的结果是 1367618400。这是正确的。我的问题是,如果日期格式为 mm-dd-yyyy 而不是 dd-mm-yyyy。例如,同一日期是 4 月 5 日而不是 5 月 4 日。
我正在使用strtotime
函数将日期转换为时间戳,例如
echo strtotime('4-5-2013');
它给出的结果是 1367618400。这是正确的。我的问题是,如果日期格式为 mm-dd-yyyy 而不是 dd-mm-yyyy。例如,同一日期是 4 月 5 日而不是 5 月 4 日。
strtotime 将-
其中的字符串视为 asdd-mm-yyyy
和/
as mm/dd/yyyy
。
4-5-2013
将是 5 月 4 日
4/5/2013
将是 4 月 5 日
m/d/y 或 dmy 格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠 (/),则假定为美式 m/d/y;而如果分隔符是破折号 (-) 或点 (.),则假定为欧洲 dmy 格式。
根据您的最新评论
您可以使用
echo date("M-d-Y", mktime(0, 0, 0, 12, 31, 1997));
传递任何格式并使用 mktime 函数。
echo strtotime('5-4-2013');//Oupt puts 1367650800
echo strtotime('4-5-2013');//Oupt puts 1367618400