通过命令行进行时区转换

通过命令行进行时区转换

我知道http://www.timeanddate.com/worldclock/converter.html

我不知道如何查询http://www.google.com采用合理自然的格式,例如“太平洋标准时间下午 5 点(英国夏令时)”。

或者我必须编写这样的应用程序吗?

答案1

台北现在是下午 6 点,这里几点?

date --date='TZ="Asia/Taipei" 18:00'
Fri Jul 16 11:00:00 BST 2010

伦敦时间上午 11 点,台北时间是几点?

TZ=Asia/Taipei date -d "11:00 BST"
Fri Jul 16 18:00:00 CST 2010

答案2

我认为这更接近 OP 的问题(因为他不一定知道 BST 是台北?而且答案也没有解释如何从“BST”到达“亚洲/台北”)。

首先是我的当前日期:

$ date
Mon Apr 21 13:07:21 MDT 2014

然后我想知道的日期:

$ date -d '5pm BST'
Mon Apr 21 15:00:00 MDT 2014

所以我知道5pm BST还有两个小时的路程。

我经常会忘记是否需要在 EDT 时间中添加或删除两个小时,因此我编写了一个包含我必须使用的常用时区的小脚本:

$ cat tz
#!/bin/bash
TZ='America/Edmonton' date
TZ='America/Chicago' date
TZ='America/New_York' date

输出结果如下:

$ tz
Mon Apr 21 13:12:32 MDT 2014
Mon Apr 21 14:12:32 CDT 2014
Mon Apr 21 15:12:32 EDT 2014

tz您可以在此处找到脚本的有效位置/usr/share/zoneinfo

但是,对于将来的时间我再次只使用date -d '<time> <timezone>'

答案3

此示例来自http://www.pixelbeat.org/cmdline.html#dates

它给出了与美国西海岸上午 9 点相对应的当地时间,考虑了不同的夏令时转换。

date --date='TZ="America/Los_Angeles" 09:00 next Fri'

使用 tzselect 获取 TZ。PST 格式不明确。例如,IST = 印度标准时间和爱尔兰夏令时。

答案4

使用Wolfram Alpha。返回基本 URL…

http://www.wolframalpha.com/input/?i=

附加转换,将空格替换为+。例如:

http://www.wolframalpha.com/input/?i=5+PM+CET+to+PST

请注意,Wolfram Alpha 似乎无法识别BST时区。

相关内容