UNIX时间戳手工计算方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIX时间戳手工计算方法相关的知识,希望对你有一定的参考价值。
10位的时间戳如何手工计算,比如设定时间戳值为T,如何列算式,直接由T,计算出年、月、日、时、分、秒,根据1分=60S,1小时=3600S,一天=86400S,一月=2629743S,一年=31556926的公式计算的时间,就年是精确的,下面的月、日、时、分一直不对,不知道错误在哪里,恳请高人指点。谢谢!
参考技术A Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。 参考技术B 一个月的天数是按具体算的,可能是28、29、30、31,所以不是总是那个数字,所以一年的数字也是错的。 参考技术C 每个月天数不一样吧,2629743是平均数 (30.44 天),还要考虑时区
Linux下面用
date -d @timestamp追问
用函数可以得出正确的结果,但为什么手工计算就不行呢,手工计算的公式到底是怎样的
追答把date的源码找出来看看吧
以上是关于UNIX时间戳手工计算方法的主要内容,如果未能解决你的问题,请参考以下文章