内核计算时间的函数 mktime
时间:2010-08-19
来源:互联网
下面这个内核函数用于计算从格林威治时间到 year0-mon0-day hour:min:sec 的秒数。
蹊跷在于用于计算天数的公式是如何来的?太trick了吧。
复制代码
蹊跷在于用于计算天数的公式是如何来的?太trick了吧。
- unsigned long
- mktime(const unsigned int year0, const unsigned int mon0,
- const unsigned int day, const unsigned int hour,
- const unsigned int min, const unsigned int sec)
- {
- unsigned int mon = mon0, year = year0;
-
- /* 1..12 -> 11,12,1..10 */
- if (0 >= (int) (mon -= 2)) {
- mon += 12; /* Puts Feb last since it has leap day */
- year -= 1;
- }
-
- return ((((unsigned long)
- (year/4 - year/100 + year/400 + 367*mon/12 + day) +
- year*365 - 719499
- )*24 + hour /* now have hours */
- )*60 + min /* now have minutes */
- )*60 + sec; /* finally seconds */
- }
作者: linyunxian 发布时间: 2010-08-19
直接用应用程序测试一下吧,中间是有一些转换的逻辑。
作者: Godbach 发布时间: 2010-08-19
((year/4 - year/100 + year/400 + 367*mon/12 + day) + year*365 - 19499 ) 这个用于计算天数的公式是怎么来的?或者说有哪篇论文有它的介绍
作者: linyunxian 发布时间: 2010-08-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28