PHP文件开头加上date_default_timezone_set();设置相应的时区

解决方案 »

  1.   

    加个date_default_timezone_set();很简单问题是怎么判断夏令时切换  
      

  2.   

    date 函数的格式串
    I 是否为夏令时 如果是夏令时为 1,否则为 0 
      

  3.   

    echo date('I', time());
    返回1是夏令时,0不是
      

  4.   

    是这样,我后台有个下拉选择框,用户选则时区,options的value是 -12 到 +12, 我想根据GMT偏移量,得到时区,比如+8,得到 Asia/Shanghai  这样我才可以用 date_default_timezone_set('Asia/Shanghai');来设置时区。
      

  5.   

    是的得到时区后才能设置
    但是不是时区偏移,而是具体的城市。因为是否执行夏令时是当地政府的事情
    比如
    echo date_default_timezone_get(), date(' Y-m-d H:i:s I'), PHP_EOL;
    date_default_timezone_set('America/Toronto'); //加拿大/多伦多
    echo date_default_timezone_get(), date(' Y-m-d H:i:s I'), PHP_EOL;
    PRC 2014-06-23 07:46:18 0
    America/Toronto 2014-06-22 19:46:18 1但是就和没有 Asia/Beiging  (北京)一样并没有 America/Ottawa (渥太华)这样的定义手册中 date_default_timezone_set 函数的说明中有一张支持的时区列表。
    自己慢慢看吧