php date () bir saat öncesinde sunucu zaman (DST sorunu)

0 Cevap php

I'm trying to troubleshoot and solve this problem: the server I'm working on (php 5.2.9 on Linux), has the correct local time (America/Buenos_Aires):

user@server [/home/site/public_html]$ date
Mon Nov  1 17:11:14 ART 2010

php.ini is set with date.timezone = "America/Buenos_Aires" I also tried to set the timezone directly in the script with

<?php
ini_set('display_errors', true);
error_reporting(E_ALL|E_STRICT|E_NOTICE);

//date_default_timezone_set("America/Buenos_Aires"); 
//echo  date_default_timezone_get(), "<br>";
echo "ini: ", ini_get('date.timezone'), "<br>";

$now = date("H:i:s T I");
$nowdate = date("Y-m-d");
echo $nowdate." ".$now;
?>

ama boşuna, sonuç

ini: America/Buenos_Aires
2010-11-01 18:11:14 ARST 1

okumak gerektiği zaman 17:11 (O bir saat öncesinde sürekli olarak bulunuyor). Ben burada ve web üzerinde buldum tüm işaret

  • (denedim) date_default_timezone_set
  • (o ayarlanır) php.ini içinde date.timezone ayarı
  • (değilim) istemci zaman sunucu zaman kafa karıştırıcı.

Herhangi bir fikir?

EDIT: As suggested, I checked and as you can see in the code, PHP thinks it should be applying DST, and Argentina decided to not apply it this year. Any option besides waiting for a patch?

EDIT 2: I tried dumping the timezones transition as suggested. I got the following:

The timezone America/Buenos_Aires switches to standard time on 20 Mar 2011 @ 02:00.
The new GMT offset will be: -10800 (ART) 

0 Cevap