如何在php中使用date()将时间戳转换为日期而不扭曲数据


How to convert timestamp to date in php using date() without warping data?

我使用php函数date()获取时间戳并将其转换为可读日期。它存储在mysql中的type=timestamp,function=now下,我使用的时间戳在数据库中为"2013-12-17 16:23:00"。而且它可以使用$date1完美地呼应。但是,当我尝试使用以下代码进行转换时:echo date('m/d/Y, $date1)它在页面上变成了"1969年12月31日"。我不知道为什么。

要转换MySQL时间戳,您需要使用strtotime函数

date('m/d/Y', strtotime($date1));

函数strtotime将采用日期/时间戳的必须格式,并将其转换为unix时间戳,然后可以使用date()将其转换成另一种可读格式。参考:http://php.net/strtotime

上述方法有效,但这并不是说这是最好的方法,我很乐意听到其他选择。

您得到的日期是因为date()需要一个unix时间戳(自1970年1月1日以来已经过去的秒数),并且我假设您的web服务器配置为UTC-,所以您得到的是前一天。这是一个烦人的bug,可能来自MySQL处理时间戳的方式。

您必须使用strtotime函数才能获得正确的日期格式

打印日期('m/d/Y',strtotime($date1))

希望它能帮助您的需求