1.Unix 时间戳是什么?

  • Unix 时间戳(英文全称为 Unix epoch, Unix time, POSIX time 或 Unix timestamp)

  • Unix 时间戳它是指从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

        有人会问,为什么是1970呢?而且我们经常使用excel也会看到这个1970,主要来源:

        1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX,新版于1971年发布。 那时的计算机操作系统是32位,时间用32位有符号数表示,则可表示 68 年, 用32位无符号数表示,可表示136年。他们认为 以 1970年 为时间 原点 足够可以了。 因此,C 的 time 函数 就这么 定了,后来的 java 等也用它,微机也用它,工作站本来就是unix系统当然也用它。(今后若用64位机年限更没问题。) 1970年1月1日 算 UNIX 和 C语言 生日。 由于主流计算机和操作系统都用它,其他仪器,手机等也就用它了。

        好了,话不多说,还是回到Unix 时间戳这个问题。

  • 一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。

2. 数据库日期时间字段转换成Unix 时间戳

  • 日期转换为UNIX时间戳用函数:UNIX_TIMESTAMP()
 select UNIX_TIMESTAMP(2012-07-18 12:23:00);
  • UNIX时间戳转换为日期用函数:FROM_UNIXTIME()
select  FROM_UNIXTIME(1342585380);

版权声明:本站部分文章为原创,部分内容来自网络转载,如有任何问题,可联系本站本站管理员邮箱!

本文链接:http://www.btdiv.com/article/12/