| xchen301 回复于:2004-10-26 15:27:22
|
谢谢,收到!
顺便问一句,老外的坛子能给地址吗,呵呵
|
| CNL 回复于:2004-10-26 15:32:43
|
我经常去这个老外坛子:
http://unix.derkeiler.com/Newsgroups/
|
| xchen301 回复于:2004-10-26 15:43:30
|
cnl,我有个疑问,这个shell是通过awk的printf来显示日期格式,这样把时间转换吧??
|
| CNL 回复于:2004-10-26 16:00:47
|
printf是输出日期差值所在的时区值
|
| meteor06 回复于:2004-10-26 16:13:03
|
的确用TZ 的方式取时间很方便
但是需要注意
1.最好不要在命令行执行相关命令,会改变时间的,假如这时候运行了相关的应用,会造成时间不对
2.北京是东八区,取前一天时间
TZ=TZ+16就是前一天,
假如取TZ=TZ+24 会有问题,在早上八点前执行,取到的是前天日期
|
| CNL 回复于:2004-10-26 16:26:57
|
对,不要在shell命令行上,使用要编写个shell执行
meter06老大说的CST+16,意思是北京时区CST-8中的-8+24=16
|
| xchen301 回复于:2004-10-26 16:33:21
|
[quote:6682e54a63="meteor06"]的确用TZ 的方式取时间很方便
但是需要注意
1.最好不要在命令行执行相关命令,会改变时间的,假如这时候运行了相关的应用,会造成时间不对
2.北京是东八区,取前一天时间
TZ=TZ+16就是前一天,
假如取TZ=TZ+24 会..........[/quote:6682e54a63]
传说中的大虾出现了,呵呵,为什么取TZ=TZ+24会出问题?一定要早上8点吗,这个跟时间有关系吗,谢谢 :lol:
|
| meteor06 回复于:2004-10-26 16:42:47
|
[quote:2c96043967="xchen301"]
传说中的大虾出现了,呵呵,为什么取TZ=TZ+24会出问题?一定要早上8点吗,这个跟时间有关系吗,谢谢 :lol:[/quote:2c96043967]
北京是东八区,也就是TZ-8,
TZ+24和格林威治时间相差24小时
2者的时间差一共是24+8=32个小时
|
| hnpygqs 回复于:2004-10-26 17:07:31
|
meter06老大您说的是-8+24=+16吧
北京是CST-8那么昨天就是CST(-8+24)=CST+16啦
|
| CNL 回复于:2004-10-26 17:59:08
|
是的,
CST+16表示时区代码为CST(SCO标准中北京时区的简称),
+16代表虚拟的西16区(实际并不存在),和东8区(-8 )间隔早24小时就是昨天
依次类推CST+40代表虚拟的西40区,和东8区(-8 )间隔早48小时(两天)就是前天
|
| xchen301 回复于:2004-10-26 18:52:39
|
哦,明白了,谢谢各位!!!
|
| hnpygqs 回复于:2004-10-27 20:28:17
|
不错,但是通过时区配置有一个局限,不能计算超过1年间隔的日期的
装个GNU的gdate吧,在shell里调gdate很方便算日期的
|