我正在使用 php 函数 date() 来获取时间戳并将其转换为可读的日期。它存储在mysql中的type=timestamp、function=now下,我使用的时间戳在数据库中读取为“2013-12-17 16:23:00”。并且它可以使用 $date1 完美地回显。但是,当我尝试使用此代码转换它时:
echo date('m/d/Y, $date1)
页面上变成“12/31/1969”。我不知道为什么。
最佳答案
要转换 MySQL 时间戳,您需要使用 strtotime
函数
date('m/d/Y', strtotime($date1));
函数strtotime
将采用必须格式的日期/时间戳并将其转换为unix时间戳,然后可以使用date()
将其转换为另一种可读格式。引用:http://php.net/strtotime
上述方法有效,但这并不是说这是最好的方法,我很高兴听到替代方案。
您获得的日期是因为 date()
需要一个 unix 时间戳(自 1970 年 1 月 1 日以来经过的秒数),并且我假设您的网络服务器配置为 UTC - 所以你是前一天收到的。这是一个恼人的错误,可能来自 MySQL 处理时间戳的方式。
关于php - 如何使用 date() 在 php 中将时间戳转换为日期而不扭曲数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20647147/