2011-05-31 324 views
1

我有一段代碼,我想在每次客戶使用折扣卡時顯示日期和時間。客戶每張卡不能有兩個以上的條目。但是,當我嘗試使用適當的格式顯示兩個條目時,只能使用較早的時間戳格式。下面的代碼:時間戳問題

上次使用:

 
    <?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

我不明白爲什麼只有一個時間戳正在處理。感謝您的反饋。

回答

1

您應該在MySQL級別設置用戶顯示的時間戳值格式,而不是使用PHP格式化它們。這樣,你不必擔心你的PHP服務器在什麼時區(你引用芝加哥時區)。嘗試使用MySQL Date Format函數返回一個MySQL格式的時間戳作爲一個可以顯示的字符串...

1

我的想法是,舊時間戳沒有通過時區推送,因爲它是2小時後。確保你的代碼通過它運行兩個值。

如果不是這樣,那麼最近您的託管服務提供商是否已更改?服務器時間與本地時間可能是一個問題?

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

7195 seconds = 1hr 59 minutes 55 seconds 

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

那麼是什麼問題?

+0

我也檢查了[here](http://www.epochconverter.com/)的時間戳,你輸入的內容看起來是正確格式的。 – 2011-05-31 20:44:51