Nic*_*ick 12 php date strtotime
很简单,在PHP中我的日期是2011年1月8日,格式为08-01-11 - 当我将其运行到strtotime并将其转换回不同的日期格式时,它将恢复到2011年8月1日 - 不理想!
有没有简单的方法,而不是必须将所有内容放入不同的数组/变量,然后再回来?
谢谢!
mys*_*elf 28
完美的解决方案是让美国首先使用正确的日期格式...; 0)
我这样做是为了解决它:
$date = "31/12/2012";
$bits = explode('/',$date);
$date = $bits[1].'/'.$bits[0].'/'.$bits[2];
Run Code Online (Sandbox Code Playgroud)
$date现在strtotime能够了
小智 13
从PHP手册:
"m/d/y或dmy格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠(/),则假设是美国m/d/y;而如果分隔符是短划线( - )或点(.),然后假设欧洲dmy格式.
为避免潜在的歧义,最好尽可能使用ISO 8601(YYYY-MM-DD)日期或DateTime :: createFromFormat()."
我用破折号替换了斜线,然后strtotime按照预期在英国的日期工作.
Pek*_*ica 11
strtotime() 仅适用于美国日期:
该函数期望给出一个包含美国英语日期格式的字符串,并尝试将该格式解析为Unix时间戳.
您必须重新排列日期格式或使用date_parse_from_format()(PHP 5.3+)来解析UK样式字符串.