我使用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))
希望它能帮助您的需求