从shell脚本中的输入接收时间戳

时间:2016-12-30 21:11:26

标签: linux bash date

我正在处理一个接收两个输入的脚本:

  1. timeZone(America / Los_Angeles)
  2. UTC中的时间戳,格式为"%Y-%m-%dT%H:%M:%SZ”
  3. 该脚本应该找到偏移并将其添加到输入时间戳,所以当我运行时:

    ./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]] [+格式]“

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

根据夏令时推导,在特定时间打印时区偏移

TZ=Asia/Kolkata date -d '2016-12-07t00:00:00z' +%z
+0530

注意保持语法:

  

- - t 小时 分钟 z < / p>