一尘不染

将字符串转换为Date和DateTime

php

如果我有一个PHP字符串,其格式为mm-dd-YYYY(例如10-16-2003),如何正确地将其转换为a Date,然后转换为a
DateTime的格式YYYY-mm-dd?我问两个唯一的原因Date,并DateTime是因为我需要一个在一个地方,和其他在不同的地方。


阅读 1075

收藏
2020-05-26

共1个答案

一尘不染

strtotime()在第一次约会时使用,然后date('Y-m-d')将其转换回:

$time = strtotime('10/16/2003');

$newformat = date('Y-m-d',$time);

echo $newformat;
// 2003-10-16

请注意,在函数中使用正斜杠/和连字符之间是有区别-strtotime()。引用php.net

通过查看各个组成部分之间的分隔符,可以消除m/d/y或dmy格式的日期的歧义:如果分隔符为斜杠(/),则假定为美国m / d /
y;相反,如果分隔符是破折号(-)或点(。),则采用欧洲dmy格式。

为避免潜在的歧义,最好尽可能使用ISO 8601(YYYY-MM-DD)日期或DateTime :: createFromFormat()。

2020-05-26