随笔分类 - 时间
摘要:time1=$(date +%s -d '2014-01-13 22:46:05')for((;;))do time2=$(date +%s) time3=$((time1 - time2)) if [ $time3 -le 0 ] then break; fi echo $time3 sleep $time3done补充说明: shell 单括号运算符号: a=$(date); 等同于:a=`date`; 双括号运算符: a=$((1+2)); echo $a; ...
阅读全文
摘要:Shell中设置 bash中 export TZ="Europe/Moscow" date -u -s "2011-10-29 21:55:00" cshell中 setenv TZ Europe/Moscow程序中设置(同样也是设置环境变量的方式) linux程序中修改时区并立即生效. setenv("TZ","Europe/Moscow",1); tzset(); 只是发现其他程序执行不会受该设置影响了.也就是该设置实际上是的环境变量只是对程序自身生效的,而ACE则直接将该选项封装为ACE_Process_Op
阅读全文
摘要:我们的最终目的是把字符串格式的时间转换为内部使用的“日历时间”,即到UTC 1970年1月1日零时的秒数。这里就存在夏令时的问题。比如俄罗斯时间2008年10月26日2:30由于夏令时的跳变会经过两次,这两次所代表的“日历时间”明显不同。如果仍按照上面的程序,由mktime()函数来决定这个时间是否处于夏令时(它会根据当前时区自动判断,在没有发生时间重叠的情况下处理是正确的)就会有问题。这时我们不能使用ttm.tm_isdst = -1了,而是明确使用ttm_tm_isdst = 1来告知mktime()现在处于夏令时,明确使用ttm.tm_isdst = 0来告知未处于夏令时。 结论:使..
阅读全文
摘要:struct tm 是否需要初始化,如何初始化,特别是自己构造tm,而不借助库函数解析时间时. 应该初始化m_isdest = -1使用strptime ,因为strptime使用tm当做出参,会帮助初始化tm
阅读全文
摘要:时间以及时区设置首先确认使用utc还是local time.UTC(Universal Time Coordinated)=GMT(Greenwich Mean Time)Local time 是你手表上的时间传统的POSIX计算机(Solaris,bsd,unix)使用UTC格式linux可以处理UTC时间和蹩脚的Windows所使用的local time到底是使用UTC还是local time可以这样来确定:如果机器上同时安装有Linux和Windows,建议使用local time如果机器上只安装有Linux,建议使用utc确定后编辑/etc/sysconfig/clock, UTC=0
阅读全文
摘要:时间和日期通常能确定时间和日期对一个程序来说是非常有用的。程序可能希望记录它运行的时间,或者可能需要在某些时候改变它的运行方式。例如,一个游戏可能拒绝在工作时间运行,或者一个定时备份程序可能想等到每天的凌晨才开始一个自动备份。所有的UNIX系统都使用同一个时间和日期的起点:格林尼治时间(GMT)1970年1月1日午夜(0点)。这是“UNIX纪元的起点”,Linux也不例外。Linux系统中所有的时间都以从那时起经过的秒数来衡量。这和MS-DOS处理时间的方法类似,只是MS-DOS纪元始于1980年。其他系统使用其他的纪元起始时间。时间通过一个预定义的类型time_t来处理。这是一个大到能够容纳
阅读全文