使用PHP格式化SQL时间戳?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (52)

我有一个带有时间戳字段的MySQL数据库。它目前只有一个条目,而我正在测试,它是

2010-02-20 13:14:09

我正在从数据库中提取并使用

echo date("m-d-Y",$r['newsDate'])

我的最终结果是

12-31-69

有人知道为什么吗?

提问于
用户回答回答于

对于初学者来说,PHP date()函数期望秒作为第二个变量。这就是为什么你的日期显示错误的原因。在这个问题上检查这个来源

然后提供给我们这个问题的答案,为了让PHP正确地格式化SQL时间戳的日期,我们只是改变查询的一个点...

SELECT author, `when`

将其更改为...

SELECT author, UNIX_TIMESTAMP(`when`)

然后使用PHP日期函数,用存储上述SQL查询结果的变量。

用户回答回答于

date函数需要UNIX时间戳作为其第二个参数 - 这意味着您你必须将从数据库获取的日期转换为UNIX时间戳,可以使用strtotime以下命令完成:

$db = '2010-02-20 13:14:09';
$timestamp = strtotime($db);
echo date("m-d-Y", $timestamp);

你会得到:

02-20-2010

扫码关注云+社区

领取腾讯云代金券