【发布时间】:2016-12-31 09:21:44
【问题描述】:
我正在编写一个接收两个输入的脚本:
- 时区(美国/洛杉矶)
- UTC 时间戳,格式如下
"%Y-%m-%dT%H:%M:%SZ”)
脚本应该找到偏移量并将其添加到输入时间戳中,所以当我运行时:
./TZ-converst.sh Asia/Kolkata 2016-12-07t00-00-00z
输出将是2016-12-07t00-05-30z。
每个时区的偏移量很容易:
offset="$(TZ=":$tz" date +%z )"
但是,我很难将此偏移量添加到输入时间"2016-12-07t00-00-00z"。
我正在尝试使用date -d 来使用输入参数,但我不断收到
"用法:日期 [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...[-f fmt date | [[ [mm]dd]HH]MM[[cc]yy][.ss]] [+格式]"
有什么想法吗?
【问题讨论】:
-
date -d '2016-12-07T00:00:00Z +1 hour'产生Wed Dec 7 01:00:00 UTC 2016 -
不,它没有。这是我在运行该命令后得到的“用法:日期 [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt 日期 | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]"
-
老实说,只是 @bishop date -d 命令的精确复制粘贴,在我的机器上产生
Wed Dec 7 03:00:00 EET 2016。你的date --version是什么?我的 debi 有 GNU 日期版本 8.26 -
日期 --version 为 8.4
-
@Erin 根据这篇文章,您似乎正在尝试使用您的版本不支持的日期进行操作。 unix.stackexchange.com/questions/166856/…