【问题标题】:How do I format this time/date in PHP?如何在 PHP 中格式化这个时间/日期?
【发布时间】:2012-04-21 16:48:25
【问题描述】:

当我在我的网站上制作项目时,我在 MySQL 中将制作它们的时间和日期保存为“2012-02-27 12:32:36”格式。

我怎样才能让它显示为:

“2012 年 2 月 27 日下午 12:32”?

我查看了 PHP 上的其他日期格式并在 PHP 网站上阅读,但它们提供的所有功能似乎都不是用于以我保存的格式获取日期。

【问题讨论】:

  • 使用datestrftimephp.net/date - php.net/strftime 使用 strtotime 将字符串转换为时间戳。
  • mysql的列类型是什么?是日期时间吗?

标签: php mysql datetime time timestamp


【解决方案1】:

首先,使用DateTime::createFromFormat() 将您拥有的MySQL DateTime 字符串转换为DateTime 对象

$mysqlDateTime = '2012-02-27 12:32:36';
$date = DateTime::createFromFormat('Y-m-d H:i:s', $mysqlDateTime);

然后,只需使用所需的格式字符串调用DateTime->format()

$formattedDate = $date->format('F j, Y g:i a');

您还可以使用 MySQL UNIX_TIMESTAMP() 日期函数(提取与 date() 兼容的 unix 时间戳)或使用 strtotime(),但请注意,这些方法不支持 32 位 2038 年 1 月 19 日之后的日期系统由于溢出(这两种方法不支持PHP的自动数字变量提升)。

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 2010-12-27
    • 2013-03-15
    相关资源
    最近更新 更多