
Unix 来自时间戳是从19360百科70年1月1日(UTC苏势促文/GMT的午夜)开英月始所经过的秒数,不考虑闰秒。
Unix 时间戳(英文为 Unix epoch, Unix time, POSIX time 或 Unix timestamp)
UNIX时间戳的 0 按照 ISO 8601 规范为 :1970-01-01T00:00:00Z.
一个小时给亮型刻江表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的 Unix 系统中 Unix 时间戳存储为 32 位,这样液买言己会引发 203理只卫战浓8 年问题或 Y2038。
- 中文名称 Unix 时间戳
- 外文名称 Unix epoch, Unix time, POSIX time, Unix timestamp
- 系统 Unix 内核系统
- 开始时间 1970年1月1日
对照表
时间 | 秒 |
1 分钟 | 60 |
1 小时 | 36字始见00 |
1 天 | 86400 |
1 周 | 604800 |
1 月 (30.44 天) | 2629743 |
1年 (365.24 天) | 31556736 |
编程调用
编程中获取Unix时脱故含经被他章谈间戳
编程语言 | 指令 |
运夜次紧告伤升未等房审 Java | time |
JavaScrip术怕师少脱用t | Math.round(new Date().getTime()/1000) ge来自tTime()返回360百科数值的单位是毫秒 |
Microsoft .NET / C# | epoch = (DateTime.Now.ToUniversalTime().Ticks - 末换裂备621355968000000百杆审波被证时成000) / 10000000 |
MySQL | SEL市ECT unix_timestamp(now()) |
Perl | time |
PHP | time() |
PostgreSQL | SELECT ext静征侵克ract(epoch FROM n观煤务松目背使赵十充ow()) |
Golang | time.now().Unix() |
Python | 先 import time 然后 time.ti型东宜宗死me() 返回1476929706.5320001 可以 int(time.time()) |
现烧 Ruby | 获取Unix时间戳:布齐席损办图们广支层皇Time.now 或 Time.new 显示Unix时间戳:Time.now.to_i |
SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCD普滑真觉虽缩采买法伤ATE()) |
Unix 顾愿河副/Linux/类UNIX/OS X | date +%s |
VB如格法精多队团标书七Script / ASP | DateDiff("s", "01/01/1970 08代逐:00:00", Now()) |
lua | os.染别根字校组龙布time() 返回时间戳 |
FreeSWITCH | 随虽饭它国罪双 fs_cli > strepoch 或者: fs_cli > eval ${strepoch()} 或者: (在 freeswitch里面,获取linux系统的时间戳) fs_cli > system date +%s |
其他操作系统 (如果Perl被安装在系统中) | 命令行状态:perl -e "print time" |
相关漏洞
来自64位iOS系统负时间值问题
搭载64位处理器向慢至快皇那武财冲乙的iOS设备的时间bug。
假设一种情况,我原来是北京时区,假设将时间设置到了1970年1月1日刻0点0时0秒,那么我将这个时间转换为UTC时间,公式:北京个时间=GMT+8=UTC+固哥8,那么UTC时间则为1969年12月31日16时既急扩早式燃斤威诗0分0秒。这样就会出现时间负值,即时间回归bug触发,系统启动卡在Kernel阶段,时间错误,无法继续进行启动。
那么既然时间不能往前调,好奇的朋友可能会往后调,当我们往后调的时候会发现iOS系统可以设置的最大时间是2038年1月1日,并不能再往后设置了。为什么时间只能调到这里?
我们了解一下在32位系统中积黑假,time_t是长度为32位的,有符号整数(signed int)类型。首个二盟面讲子工蛋裂远座五进制位是符号位,用来储存正负。正数则为1970/1/1以后的时间,负数反之;其余的31位用来记数。当时间到达2038年1月19日3时14分08秒(北京时间203曲胜武电推杨语衣食黄8年1月19日1措落阿终齐洲1时14分08秒)360百科时,数值位全部向前进1,导致符号位被置1,其余31位为0。介时,将出现"时间回归"的情况,系统时间变世罪守脚界抗资张京序绝为1901年12月13日20时45分52秒,系统将会出现错误。
1绿志通材970年1月1日滑就像病毒一样在世界蔓延开来了,不仅很多国外网友中招升独买乱复用差又,在国内有很多iPhone用户也都尝试了。笔者刚刚看到关于1970年变砖的视频后,内妈了倒含燃华接没音既心是不相信的,觉得这个视频后半段开机画务源面是被剪掉了,然后笔者就手贱的进行了尝试,把时间设置成1970年1月1日,手机关机重启真几环端简织温曾蛋创的停留在白苹果了,变"砖头"了,真是应了这句话"不歌点采伟略很构欢作就不会死"。
然吸京二几层护鱼英后小编只能用仅有的一点手机维修的功底,把手机拆开,断开电池与主板的连接,为了保险起见等待了十分钟,重新连接电池,然后开机就正常了,这只是解决"苹果1970年事件"其中一种方法。