【问题标题】:Does UNIX time record Timezone?UNIX 时间是否记录时区?
【发布时间】:2011-02-20 10:02:39
【问题描述】:

想问一下UNIX时间,UNIX时间记录Timezone吗?

我将主机从芝加哥/美国移至 JST。

问题是我的整个 MySQL 数据库都有 UNIX 时间(芝加哥/美国时区)的记录

我有一个 PHP 代码来显示前一段时间(例如 3 天前、昨天等) 当我搬到新服务器时,它说明天

为了避免明天出现这种情况,是否可以将服务器关闭一天以与当前服务器的时区同步?

我担心UNIX时间不仅记录日期和时间,还记录时区...

我可以设置 PHP.ini 时区,但它会减慢我的 Apache 的速度吗?

【问题讨论】:

    标签: php mysql unix time timezone


    【解决方案1】:

    'unix time' 是从纪元开始的毫秒数,这是我们所有地球的标准。然后将时区用作该时间的修饰符。

    【讨论】:

      【解决方案2】:

      UNIX 时间中的“0”是 UTC 时间的 1970 年 1 月 1 日。每个 UNIX 时间都是该日期、时间和时区的秒数。

      【讨论】:

        【解决方案3】:

        POSIX 7 defines it as(强调我的):

        如果年份 >=1970 且值为非负数,则该值与根据 C 语言表达式的协调世界时名称相关,其中 tm_sec、tm_min、tm_hour、 tm_yday 和 tm_year 都是整数类型:

        tm_sec + tm_min*60 + tm_hour*3600 + tm_yday*86400 +
        (tm_year-70)*31536000 + ((tm_year-69)/4)*86400 -
        ((tm_year-1)/100)*86400 + ((tm_year+299)/400)*86400
        

        所以它总是相对于 UTC,因此不编码时区信息。

        教给我的:https://stackoverflow.com/a/20035913/895245

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-06
          • 2012-05-09
          • 2018-07-11
          • 2011-09-15
          • 1970-01-01
          • 1970-01-01
          • 2013-05-20
          • 1970-01-01
          相关资源
          最近更新 更多