我有输入框,用于获取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-13
。 I 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 ...