当地时间与 UTC 换算

当地时间与 UTC 换算

是否可以将本地时间列表转换为 UTC?本地时间列表位于文本文件中,我希望它创建另一个包含列表但采用 UTC 格式的文本文件。如果可能的话什么命令可以帮助

当地时间(太平洋标准时间)

year
month 
day 
hour 
min 
sec

2016  03   01  13   15  00

2016  05   12  16   01  22

2016  12   23  09   11  11

以上是文本文件内的示例格式。

答案1

通过 GNU awk(通常在 Linux 上,有时在其他系统上)以及您可以使用的数据

[g]awk '{print strftime(fmt,mktime($0" 0"),1)}' file

如果您希望输出格式与输入相同,请使用"%Y %m %d %H %M %S"fmt。如果您的输入实际上是本地的民事时间,包括一年中适当时间的夏令时,省略后缀" 0"。如果“PST”是美国太平洋地区,那么它通常遵循美国的夏令时规则,但如果是菲律宾时间,它通常不会移动,靠近赤道。

答案2

基本命令是date.对于第一次约会,您可以输入

date -u --date=2016-03-01T13:15:00PST

当然你想读取文本文件,所以你可以这样做

awk '{print "date -u --date="$1"-"$2"-"$3"T"$4":"$5":"$6"PST"}' file.txt | sh

还有很多其他方法来处理文本文件。该man页面包含date有关如何格式化输出的信息。

相关内容