码迷,mamicode.com
首页 > 其他好文 > 详细

日期和时间计算

时间:2015-11-08 22:21:16      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

   最近在学习muduo网络库源码,小结一下日期和时间计算。

概念

  GMT(UT)、UTC、AD、CE、BC等略。参考:http://www.hermetic.ch/cal_stud/jdn.htm

  儒略日(Julian day number, 这里简称为JD)起始时间为GMT -4712-01-01(i.e.4713 B.C.),中午12时。此刻2015年11月8日18:00:00的儒略日是2457335.25,0.1表示2.4小时、144分钟或者8640秒,以此类推。由于儒略日数字位数太多,国际天文学联合会于1973年采用修订后的儒略日(MJD),其定义为 MJD = JD – 2400000.5。MJD相应的起点是GMT 1858-11-17,0时。计算机的UNIX time是从GMT 1970-01-01, 0时开始至今的秒数。因此,UNIX time = (JD – 2440587.5) × 86400。年月日和JD可以通过公式互相转化,即muduo中的muduo::detail::getJulianDayNumber、muduo::detail::getYearMonthDay函数。muduo中muduo::Date::kJulianDayOf1970_01_01 值为 2440588,也就是起点设为0时了。

  时区、闰秒等概念参考man tzfile,http://stackoverflow.com/questions/6317388/timezone-database-file-format-question

相关函数和结构

  struct tm

  gmtime_r

  gettimeofday,X86_64不需要进入内核,参考:http://blog.csdn.net/russell_tao/article/details/7185588

  timgm

  互相转换如图所示:(  参考:http://www.cnblogs.com/yaozhongxiao/archive/2013/04/14/3020353.html

  技术分享

 

日期和时间计算

标签:

原文地址:http://www.cnblogs.com/luhai/p/4947250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!