linux/unix备忘:perl 取得系统当前日期的命令 3种方法
使用perl取得系统当前日期的命令,格式为 YYYY-mm-dd HH:ii:SS,如: 2006-08-30 12:15:10 ,并能考虑不同时区存在时差的处理。
- 方法1:使用 POSIX 模块
perl -e ‘use POSIX; print strftime(”%Y-%m-%d %H:%M:%S”, localtime)’
如果有时差,将时差时间加到localtime后面。如:我现在使用的主机是 dreamehost 的主机,当前时区是 -700 ,而中国的时区是+800,相差15小时,为了让同步程序的时间正常,需要将系统时间向后调整15小时。时差调整为 时差*3600。
perl -e ‘use POSIX; print strftime(”%Y%m%d %H:%M:%S”, localtime(time+15*3600))’
注:strftime也可在 c / c++ / awk / php 中使用,用法基本一致。(Slowke.com 慢客提示)
系统输出为:2006-08-30 10:30:10
- 方法2:使用 HTTP::Date 模块
perl -e ‘use HTTP::Date;print HTTP::Date::time2iso(time);’
如果有时差,将时差时间加到time后面。时差调整为 时差*3600。
perl -e ‘use HTTP::Date;print HTTP::Date::time2iso(time+15*3600);’
系统输出为:2006-08-30 10:30:10
(Slowke.com 慢客 记录)
- 方法3:直接调用 localtime 函数
perl -e ‘($sec,$min,$hour,$mday,$mon,$year)=localtime(time);$mon++;$mon=”0$mon” if ($mon<10);$mday=”0$mday” if ($mday<10);$year+=1900;print “$year-$mon-$mday”;’
系统输出为:2006-08-30
–Slowke.com 慢客备忘 2006-09-02
Related Links:
Keywords/Tags: 系统日期, linux日期, perl日期





页面字体太难看了,调整一下吧
评论 作者 Fenng — 2006-09-04 @ 3:23 pm