时间戳麻烦

时间:2011-05-31 20:33:48

标签: php codeigniter timestamp

我有一段代码,我想在每次客户使用折扣卡时显示日期和时间。客户每张卡不能超过两个条目。但是,当我尝试使用适当的格式显示两个条目时,只有正确的旧时间戳格式。代码如下:

上次使用:

    <?php

    $timestamp = mysql_to_unix($row->trans_date);  //MySql Time stamp 2011-05-31 12:49:59
    date_default_timezone_set('America/Chicago');  //Push timestamp ahead 2 hours
    $lastuse = date('F j, Y @ g:i A', $timestamp); //format date

    echo $lastuse;


    ?>
     <?php endforeach; ?>

我有两个时间戳在1306871399和1306864204中。第一个标记成功处理为May 31, 2011 @ 2:49 PM,但第二个标记出现May 31, 2011 @ 12:50 PM

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

3 个答案:

答案 0 :(得分:2)

  1306871399
- 1306864204
------------
=       7195

7195 seconds = 1hr 59 minutes 55 seconds

May 31/2:49pm -> May31/12:50pm is about 1hr 59 minutes apart

那么问题是什么?

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

如果不是这样..您的托管服务提供商最近有变化吗?服务器时间与本地时间可能是个问题?