可以使用 date 指令達到這個效果。
像是得到目前 utc timestamp
date -u +%s
1564100456
轉成可讀的 date string format
date --date=@1564100456
Fri Jul 26 08:20:56 CST 2019
其實省略的預設的timezone配置
TZ="Asia/Taipei" date --date=@1564100456
如果要轉為其他時間的local time呢?
GMT
$ TZ="GMT" date --date=@1564100456
Fri Jul 26 00:20:56 GMT 2019
巴西時區
$ TZ="America/Sao_Paulo" date --date=@1564100456
Thu Jul 25 21:20:56 -03 2019
如果已知當地時間,想得到timestamp呢?
$ date -u -d "2019-07-26 12:00:00 -3" +%s
1564153200
$ TZ="America/Sao_Paulo" date --date=@1564153200
Fri Jul 26 12:00:00 -03 2019
$ TZ="Asia/Taipei" date --date=@1564153200
Fri Jul 26 23:00:00 CST 2019
透過date 使用 得到 timestamp 再透過 TZ timezone的轉換就可以 得到當地時間了。
EXAMPLES
Convert seconds since the epoch (1970-01-01 UTC) to a date
$ date --date='@2147483647'
Show the time on the west coast of the US (use tzselect(1) to find TZ)
$ TZ='America/Los_Angeles' date
Show the local time for 9AM next Friday on the west coast of the US
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
沒有留言:
張貼留言