时间戳问题


Timestamp Troubles

我有一段代码,我想在其中显示客户每次使用折扣卡的日期和时间。客户端每张卡最多只能有两个条目。然而,当我尝试用适当的格式显示这两个条目时,只有旧的时间戳格式才正确。以下代码:

上次使用:

<?php$timestamp=mysql_to_unix($row->trans_date)//MySql时间戳2011-05-31 12:49:59date_default_timezone_set("美国/芝加哥")//将时间戳提前2小时$lastuse=日期('Fj,Y@g:iA',$timestamp)//格式化日期echo$lastuse;?><?php endforeach;?>

我有两个时间戳,分别是1306871399和1306864204。第一个stamp成功地处理为May 31, 2011 @ 2:49 PM,但第二个stamp出现为May 31, 2011 @ 12:50 PM

我不明白为什么只处理其中一个时间戳。感谢您的反馈。

  1306871399
- 1306864204
------------
=       7195
7195 seconds = 1hr 59 minutes 55 seconds
May 31/2:49pm -> May31/12:50pm is about 1hr 59 minutes apart

那么问题出在哪里呢?

您应该格式化您的时间戳值,以便在MySQL级别显示用户,而不是使用PHP来格式化它们。这样,您就不必担心PHP服务器所在的时区(您对芝加哥时区的引用)。尝试使用MySQL日期格式函数返回MySQL格式的时间戳作为可以显示的字符串。。。

我的想法是,旧的时间戳没有通过时区推送,因为它落后了2个小时。确保你的代码通过它运行两个值。

如果不是这样的话……你的托管提供商最近改变了吗?服务器时间与本地时间可能是个问题?