本帖最后由 love_u_qt 于 2012-08-02 15:43:02 编辑

解决方案 »

  1.   

    3、另外请问是不是php4不支持设置时区?
    是的,没有显式的时区设置。而是自动取操作系统的时区设置1、time()获取的总是当前时区的时间戳吗?不管是否设置了时区。
    是的。但“不管是否设置了时区。”有些不妥,没有显式的设置时区在php5.3要报错;在php5.2则取0时区(格林威治时间)2、time()这个方法是依照哪个时间获取的时间戳?
    依据格林威治时间,这是机器上的时钟时间。
      

  2.   

    1、time()获取的总是当前时区的时间戳吗?不管是否设置了时区。
    是的。但“不管是否设置了时区。”有些不妥,没有显式的设置时区在php5.3要报错;在php5.2则取0时区(格林威治时间)
    2、time()这个方法是依照哪个时间获取的时间戳?
    依据格林威治时间,这是机器上的时钟时间。
    3、另外请问是不是php4不支持设置时区?
    是的,没有显式的时区设置。而是自动取操作系统的时区设置
      

  3.   

    这块我有点没看懂,我的版本是5.2,但我即便显示的设置了时区(PRC),用time()获取到的时间戳,也与不设置时区获取的值是一样的。
    那这不就说明“不管是否设置了时区”,time()都是获取的格林威治时间戳吗?
      

  4.   

    你是在程序中 date_default_timezone_set('PRC'); 了
    但是你的 php.ini 中的 date.timezone 是什么呢?
      

  5.   

    php.ini的date.timezone里我没有改过,是默认的空。但我程序中既然设置了时区 date_default_timezone_set('PRC'); 最起码这个脚本应该是按着这个时区走吧?
      

  6.   

    那是当然的
    又仔细看了一下你原始的问题,你是对
    echo time();
    date_default_timezone_set('PRC');
    echo time();
    输出的结果相同有疑问对吧?
    我 #1 的回复有矛盾,应该是 time 始终取得的是格林威治时间
    date 函数才与时区有关echo date('Y-m-d H:i:s');
    date_default_timezone_set('PRC');
    echo date('Y-m-d H:i:s');就能看出区别了
      

  7.   


    嗯对,还有mktime()也是跟时区有关系的。谢谢你啊!!