我使用php函数date()来获取时间戳并将其转换为可读日期。它存储在type = timestamp,function = now in mysql中,我正在使用的时间戳在数据库中显示为“2013-12-17 16:23:00”。并且它可以使用$ date1完美地回应。但是,当我尝试使用此代码转换它时:
echo date('m/d/Y, $date1)
它在页面上变成“12/31/1969”。我不明白为什么。
答案 0 :(得分:1)
要转换MySQL时间戳,您需要使用strtotime
函数
date('m/d/Y', strtotime($date1));
函数strtotime
将采用必须的日期/时间戳格式并将其转换为unix时间戳,然后可以使用date()
将其转换为另一种可读格式。参考:http://php.net/strtotime
上述工作,但并不是说这是最好的方式,我很乐意听到替代方案。
您获得的日期是因为date()
需要一个unix时间戳(自1970年1月1日以来已经过去的秒数),并且我假设您的Web服务器配置为UTC-,所以你'重新获得前一天。这是一个令人烦恼的错误,可能来自MySQL处理时间戳的方式。
答案 1 :(得分:0)
您必须使用strtotime函数才能获得正确的日期格式
打印日期('m / d / Y',strtotime($ date1))
希望它有助于您的需求