Unix时间戳

2013-04-01

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp),是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

I)、如何获取unix时间戳

1、perl脚本
perl -e 'print time'

2、shell命令
date +%s

3、python脚本

#/usr/bin/python -t

import time

print time.time()

II)、在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。

所有32位电脑系统都用带符号32位整型来存储Time_t的值,也就是说Time_t只能用31位二进制数来表示(第一位用来表示正负号),而其最大值转换为十进制是2147483647,换算成日期和时间刚好是2038年1月19日03:14:07am(GMT),而这一秒过后,Time_t的值将变成-2147483647,代表的是1901年12月13日8:45:52pm,这样32位软硬件系统的日期时间显示就都乱套了。另外,无法接受Time_t为负值的其他功能也将返回错误。

举个实际的例子来说,登陆上Yahoo messenger,给好友发个消息,恩没问题,现在把系统时间更改为2038年1月19日03:14:07am,此时如果再发消息Yahoo messenger就将崩溃。

III)、CST/GMT/UTC/DST缩写

CST China Standard Time UT+8:00

GMT 格林威治标准时间(Greenwich Mean Time,简称G.M.T.)

UTC 世界协调时间UTC比GMT来得更加精准

DST 夏日节约时间:所谓「夏日节约时间」Daylight Saving Time(简称D.S.T.),

RTC 硬件时钟(Real Time Clock,简称RTC),相对应的系统时钟(System Clock)。

分类:Linux操作系统 | 标签: |

相关日志

评论被关闭!