我有输入框,用于获取mm-dd-yyyy格式的值。所以当我获取日期时,我尝试将其转换为YYYY-MM-DD格式。
例如 :<?$birthdate="08-13-2000";$date=date('Y-m-d',strtotime($birthdate));echo $date;?>
输出为1970-01-01
但是,如果我给13-08-2000,我就会得到2000-08-13I dont want to split。因为在我的应用程序中,我在很多地方都使用过strtotime,但是我认为ojit_code甚至将其转换为unix时间戳格式,这就是为什么要这样做的原因。我在理解或做错什么了?

最佳答案

strtotime()将以破折号分隔的日期解析为dd-mm-yyyy。您需要输入生日日期为“08/13/2000”。如果您无法更改输入的预期分隔符,则str_replace应该为此工作。

归功于php.net在frontiermedia dot net dot au上的sam分隔符差异

编辑:如果需要替换,请提供一些示例代码:

$birthdate = '08-13-2000';
$birthdate = str_replace('-','/',$birthdate);
$date      = date('Y-m-d',strtotime($birthdate));

echo $date;

否则就只是
$birthdate = '08/13/2000';
... snip ...

10-06 12:52