【问题标题】:Convert a datetime to another format using php使用 php 将日期时间转换为另一种格式
【发布时间】:2017-05-02 04:44:23
【问题描述】:

我正在尝试将以下日期时间字符串转换为另一种日期和时间格式。

2016 年 12 月 15 日星期四 10:05:14 +0000

12 月 15 日

我的代码是

created_at = 'Thu Dec 15 10:05:14 +0000 2016';
$new_dt = date_format(strtotime($created_at),'jS F');

但它什么也没显示。非常感谢任何建议。

【问题讨论】:

  • $created_at = 'Thu Dec 15 10:05:14 +0000 2016'; $new_dt = date_format(strtotime($created_at),'jS F');打印 $new_dt;
  • @Goikiu 谢谢,只是想知道有没有什么新东西。
  • @Goikiu 添加了一行:print $new_dt; 既然你说它什么都不显示,那么你并没有真正打印出任何东西。

标签: php datetime


【解决方案1】:

date_format()DateTime::format() 的别名,它接受DateTimeInterface 实例(例如DateTime 对象),而不是原始的UNIX 时间戳。

另外,依赖像strtotime() 这样的“魔法”函数通常是不好的。

你需要的是:

$new_dt = DateTime::createFromFormat('D M d H:i:s O Y', $created_at)
          ->format('jS F');

或者如果你真的坚持使用过程式函数:

$new_dt = date_format(
    date_create_from_format('D M d H:i:s O Y', $created_at),
    'jS F'
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2010-09-13
    • 2022-01-19
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多