如果我有一个PHP字符串,其格式为mm-dd-YYYY(例如10-16-2003),如何正确地将其转换为a Date,然后转换为a DateTime的格式YYYY-mm-dd?我问两个唯一的原因Date,并DateTime是因为我需要一个在一个地方,和其他在不同的地方。
mm-dd-YYYY
Date
DateTime
YYYY-mm-dd
strtotime()在第一次约会时使用,然后date('Y-m-d')将其转换回:
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()。