1.linux下的时间
1.1.linux下的时间系统 【程序编程相关:一步到位的 LAMP 安装脚本 (AMP】 【推荐阅读:Avoiding HSRP Instab】 1.2.linux下与时间有关的数据结构 【扩展信息:ProFTP配置文件】2.获得当前时间
3.延时
4.定时器
4.1.alarm 4.2.setitimer 1.linux下的时间 1.1.linux下的时间系统 unix及linux的时间系统是由"新纪元时间"epoch(传说中的标志unix时代开端的那个拂晓)开始计算起,单位为秒,epoch则是指定为1970年一月一日凌晨零点零分零秒,格林威治时间. 目前大部份的unix系统都是用32位来记录时间,正值表示为1970以後,负值则表示1970年以前.我们可以很简单地计算出其时间范围:2^31/86400(s) = 24855.13481(天) ~ 68.0958(年)
1970+68.0958 = 2038.0958
1970-68.0958 = 1901.9042时间范围为[1901.9042,2038.0958].
准确的时间为2038年一月十八日星期一晚上十点十四分七秒.那一刻,时间将会转为负数,变成1901年十二月十三日黑色星期五下午三点四十五分五十二秒,这就是所谓的unix 2038 bug,或者您也可戏称为jason hatchet bug.在大部份的unix上,并没有所谓y2k问题,不过都有2038年问题.
1.2.linux下与时间有关的数据结构struct timeval {
int tv_sec; int tv_usec; }; 其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10e-6 second).struct timezone {
int tv_minuteswest; int tv_dsttime; }; ... 下一页