UTC时间和本地时间的转换

UTC时间和本地时间的转换

协调世界时,又称世界标准时间,简称UTC,从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。台湾采用CNS 7648的《资料元及交换格式–资讯交换–日期及时间的表示法》(与ISO 8601类似)称之为世界统一时间。中国大陆采用ISO 8601-1988的国标《数据元和交换格式信息交换日期和时间表示法》(GB/T 7408)中称之为国际协调时间。如果想了解更多的UTC的内容,可以查看wiki百科的记录。

在做linux系统维护时,有时会发现一些应用的日志中记录的时间和我们经常看到的时间格式是不一样的。比如nagios日志文件中的记录,给人的感觉就很怪异。如下日志内容:
[1293132334] HOST NOTIFICATION: nagiosadmin;winserver;DOWN;notify-host-by-email;CRITICAL - Network Unreachable
[1293132334]这部分就是这条报警信息发生的时间,如果你要把这个格式转换为我们比较常见的格式,需要使用date命令。
运行date +'%x %X' -d "1970-01-01 UTC 1293143134 sec",会显示12/24/2010 06:25:34 AM,这也就是我们比较常见的时间格式,其实这和那一串数字内容是一样的。UTC显示的时间为从1970年1月1日0时0分0秒到当前时间所经历的秒数。

date命令的更多用法:
1。获得当前时间:date
2。把当前本地时间转换为UTC时间:date +%s -d "Sat Oct  1 13:54:41 CST 2011",双引号内的内容也就是使用date取得的当前时间。
3。把UTC时间转换为本地时间:date  -d "1970-01-01 UTC 1317448481 sec"
4。设置当前时间:date -s 12:41:30
5。设置当前日期:date -s 10/1/2011
6。设置本地时间:date 01111402

date命令还有很多其它的用法,详细信息可以使用man date或者info date查看date命令的帮助信息。

你可能感兴趣的:(utc时间)