【问题标题】:Reformatting a datetime field into a more readable format将日期时间字段重新格式化为更易读的格式
【发布时间】:2015-12-13 18:25:56
【问题描述】:

我正在使用 PHP 从数据库中提取一个日期时间字段,格式如下:

2015-09-22T13:00:00

当我用这个值填充我的 html 时,它会返回这个(注意:没有“T”):

2015-09-22 13:00:00

没什么大不了的。

我想要的输出格式如下:

2015 年 9 月 22 日 - 格林威治标准时间下午 1:00

我不能完全围绕不同的 PHP 函数以及所有 DateTime 类、常量等...多个函数来将事物切换为不同的格式,更不用说用于实际格式化的字符串格式了转换成正确的格式。

请有一点专业知识的人帮我破译一下吗?

【问题讨论】:

标签: php datetime


【解决方案1】:

我不明白你怎么能把一天放在正确的后缀上,比如 22 日或 1 日。由于没有时区信息或时间偏移,因此字符串中没有信息表明它是 GMT,所以如果您假设它始终是 GMT,那么在最后附加 GMT 就可以了。大多数时间 datetime 是用偏移量而不是时区存储的。

<?php
 $date = date_create('2015-09-22T13:00:00');
 echo date->format('m dd, Y - g:i A').' GMT ';
?>

【讨论】:

  • 在 date() 的格式字符串中,您会得到带有 jS 后缀的正确日期。
【解决方案2】:

如果您想获取实际的 GMT 时间,则必须使用基于用户时区的 GMT 偏移量。

如果你只是想“调用”它 GMT 那么你可以像这样得到你的字符串......

<?php
$date = date("F jS, Y - h:i A", strtotime($row['column-name']));
echo $date.' GMT';
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2018-07-31
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多