【问题标题】:Date conversion from db to display从 db 到显示的日期转换
【发布时间】:2009-10-14 18:14:05
【问题描述】:

我正在从 mysql 数据库中读取一个日期时间字段。我想用 PHP 转换它:

来自:2009-05-23 14:46:23

05/23/2009 02:46 pm

注意am/pm 转换。

提前谢谢..

【问题讨论】:

  • 是的,我将在 PHP 中进行转换。

标签: php datetime date


【解决方案1】:
// assume you retrieve the mysql date in variable $date
date("m/d/Y h:i a", strtotime($date));

【讨论】:

  • 请注意,如果 sql 层已经返回一个 DateTime 对象,您可以使用 date_format() 函数执行类似的操作。
  • @cballou,感谢您的帮助,感谢您直奔主题;)
【解决方案2】:

叫我老土。我将所有日期存储为纪元,如果我会超出我的时区,则存储为日期的 UTC 纪元。

Epoch 是自 1970 年 1 月 1 日或类似日期以来的秒数。

在 MySQL 中称为 Unixtime。 FROM_UNIXTIME() 等。

$epoch = strtotime($mdate);

如果您愿意,也可以将日期直接存储在 MySQL 中,数据类型为 DATETIME。 您选择的格式实际上是替代品。

【讨论】:

    【解决方案3】:

    根据您的数据库代码返回的类型,您可以创建一个新的 DateTime 对象或使用date_format() 格式化一个现有的对象。从您给出的示例中,日期格式字符串应为"m/d/Y h:i a"。请注意,无论哪种情况,都会处理从 24 小时到 12 小时的转换。

    查看DateTime:date()DateTime:format() (date_format is an alias for this) 的格式选项

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多