2013-08-26 24 views
3

這裏我的代碼相同的日期:PHP的日期給我2個不同的時間戳

<?php 
    $aaa = array(
     1224972000, 
     1224973800, 
     1224975600, 
     1224977400, 
     1224979200, 
     1224981000, 
     1224982800, 
     1224984600, 
     1224986400, 
     1224988200, 
     1224990000, 
     1224991800, 
     1224993600, 
     1224995400, 
     1224997200, 
    ); 
    foreach ($aaa as $ts) { 
     $date = \date('m/d/Y,H:i:s', $ts); 
     echo "$date \n"; 
    } 

And the result is : 
10/26/2008,00:00:00 
10/26/2008,00:30:00 
10/26/2008,01:00:00 
10/26/2008,01:30:00 
**10/26/2008,02:00:00 
10/26/2008,02:30:00 
10/26/2008,02:00:00 
10/26/2008,02:30:00** 
10/26/2008,03:00:00 
10/26/2008,03:30:00 
10/26/2008,04:00:00 
10/26/2008,04:30:00 
10/26/2008,05:00:00 
10/26/2008,05:30:00 
10/26/2008,06:00:00 

爲什麼?

+2

並且什麼不好呢? –

+0

你期待什麼結果比這更多? – overflow

+0

'\ date'或'date'? –

回答

4

我想象在你選擇的時區,日期從當天的夏令時開始轉換,因此有兩個2:00 ams。我看到你在利物浦學習 - 這是在英國的機器上嗎?傳統上,英國夏季時間和格林威治標準時間之間的轉換日期是十月的上個星期天。我相信大多數歐洲國家也是如此。

嘗試增加:

date_default_timezone_set("UTC"); 

在腳本的開始;那會將時區修改爲沒有DST調整的時區。你會發現你會得到獨特的結果。

3

取決於你在什麼時區!

您所在地區的夏令時間可能最終在十月的最後一個星期日,每年或者說是它是如何在2008年

所以,不同的時間標記代表相同的時間。

-1

我有我的回答: 我的服務器給我 裏諾@ Ubuntu的:〜$日期-d @ 1224979200 dimanche 26 OCTOBRE 2008,02:00:00(UTC + 0200) 裏諾@ Ubuntu的:〜$日期-d @ 1224982800 dimanche 26 OCTOBRE 2008,02:00:00(UTC + 0100)

,原因是 http://www.lecalendrier.fr/changement-d-heure-2008

我這麼笨

+0

所以基本上,大約4個人告訴你爲什麼後,你得到了你的答案:)好工作。 –

+1

-1因爲:您忽略了其他正確的答案並且您鏈接到英文網站上的法語資源 –

+0

這是因爲您的答案太快而無法回答。 – jeannot