将字符串转换为日期和日期时间
如果我有一个PHP字符串的格式(例如,10-16-2003),我如何正确地将其转换为a,然后以?我要求两者的唯一原因是因为我在一个地方需要一个,另一个地方需要另一个地方。mm-dd-YYYY
Date
DateTime
YYYY-mm-dd
Date
DateTime
如果我有一个PHP字符串的格式(例如,10-16-2003),我如何正确地将其转换为a,然后以?我要求两者的唯一原因是因为我在一个地方需要一个,另一个地方需要另一个地方。mm-dd-YYYY
Date
DateTime
YYYY-mm-dd
Date
DateTime
在第一次约会时使用,然后将其转换回去: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格式的日期的歧义:如果分隔符是斜杠(/),则假定为美国m / d / y;而如果分隔符是短划线 (-) 或点 (.),则假定为欧洲 d-m-y 格式。
为避免潜在的歧义,最好尽可能使用 ISO 8601 (YYYY-MM-DD) 日期或 DateTime::createFromFormat()。
您需要小心使用 m/d/Y 和 m-d-Y 格式。PHP 认为它的意思是 m/d/Y,意思是 d-m-Y。在这种情况下,我会明确描述输入格式:/
-
$ymd = DateTime::createFromFormat('m-d-Y', '10-16-2003')->format('Y-m-d');
这样你就不会受到某种解释的异想天开。