zoukankan      html  css  js  c++  java
  • 【原创】mysql时间戳竟然不是从19700101 00:00:00开始的!

    众所周知,包括mysql文档上都这么写着:一个时间戳。范围是 '1970-01-01 00:00:00'2037 年间的任意时刻。

     但是根据最新发现,竟然不是从这个值开始的,而是从'1970-01-01 08:00:00开始的。看来搞mysql的这群人应该比我们提前1个小时上班^_^ 。不排除跟mysql版本和配置导致这个情况的可能性,借此抛砖引玉,希望能搞明白这个东东

    测试版本:

    version: 4.1.15

    mysql> select unix_timestamp('1970-01-01 00:00:01');
    +---------------------------------------+
    | unix_timestamp('1970-01-01 00:00:01') |
    +---------------------------------------+
    |                                     0 |
    +---------------------------------------+
    1 row in set (0.00 sec)

    mysql> select unix_timestamp('1970-01-01 08:00:00');
    +---------------------------------------+
    | unix_timestamp('1970-01-01 08:00:00') |
    +---------------------------------------+
    |                                     0 |
    +---------------------------------------+
    1 row in set (0.00 sec)

    mysql> select unix_timestamp('1970-01-01 08:00:01');
    +---------------------------------------+
    | unix_timestamp('1970-01-01 08:00:01') |
    +---------------------------------------+
    |                                     1 |
    +---------------------------------------+
    1 row in set (0.00 sec)

    mysql> select unix_timestamp('1970-01-01 09:00:00');
    +---------------------------------------+
    | unix_timestamp('1970-01-01 09:00:00') |
    +---------------------------------------+
    |                                  3600 |
    +---------------------------------------+
    1 row in set (0.00 sec)

    根据这几段代码,情况显而易见。


    最后发现。原来是因为时区的问题造成的。
    现在才终于发现为什么 要用时间戳了

  • 相关阅读:
    动态规划解决数字三角形问题
    动态规划,贪心,分治
    7-3 两个有序序列的中位数 (20分) log n的解法
    二分查找 单峰数组中的最大值 O(log n)
    数据库连接池 C3P0和 Druid
    SQL注入问题
    MATLAB spectrogram命令
    JDBC工具类
    Egret--拼接Rect实现用于新手引导的扣洞
    egrte-取消居中约束
  • 原文地址:https://www.cnblogs.com/jacktu/p/1083196.html
Copyright © 2011-2022 走看看