php - 日期时间从格式创建

标签 php datetime-format

我想创建具有特定格式的日期,例如 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/

相关文章:

php - 将 HTML 转换为 PHP 后 CSS 背景图像失败

javascript - 如何在php和JavaScript中重定向php Window.location.href或Window.open()方法

java - ZonedDateTime 忽略 ss 部分的 00

java - Instant.now 相当于 java.util.Date 或 Java 7

c# - 将日期时间转换为 C# 中的特定格式

c# - 如何解析包含 "17th"或类似后缀的日期字符串?

javascript - 在由另一个 Ajax 单击事件添加的 div 上运行 Ajax 单击事件

php - 使用 Yarn 将 PHP 项目部署到 Heroku

php - DBXML 错误 centos 5.5(64bit) 和 php 5.2

python - Pandas 中的日期时间格式不一致