我想创建具有特定格式的日期,例如 03-20-2010 的格式为 m-d-Y,但日期函数不理解此日期并返回错误的日期
$date = date("Y-m-d", strtotime("03-20-2010"));
上面的代码返回错误的日期,背后的原因是什么,如何避免错误的结果?我希望日期函数识别的几种格式是 "Y/m/d"、 "m/d/Y"、 "F d, Y"、 "M d, Y"。
最佳答案
有趣的是,您的问题标题包含问题的精确解决方案!
使用DateTime::createFromFormat
. (注意:需要 PHP >= 5.3)
它允许您指定预期日期的确切格式,因此没有 strtotime()
的歧义/英美偏见。
这应该有效:
$date = DateTime::createFromFormat("Y-m-d", "2010-03-20");
关于php - 日期时间从格式创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542162/