在 bash Shell 脚本中将带有偏移字符串的 GMT 转换为 MST
Convert GMT with offset string to MST in bash Shell script
我有一个字符串变量(具有 GMT 偏移量的日期时间),格式如下。
如何在 bash shell 脚本中将其转换为 MST?
Input GMT :- 08/Sep/2020:11:38:01 +0000
Output MST :- 08/Sep/2020:04:38:01 -0700
我们可以这样得到偏移量
offset=$(date +%-z)
我不想再次从字符串转换为日期,然后使用偏移量和减去偏移量来达到 MST.Is 有更好的方法来转换它吗?
将 08/Sep/2020:11:38:01 +0000
与 bash
转换为 08 Sep 2020 11:38:01 +0000
:
gmt="08/Sep/2020:11:38:01 +0000"
gmt="${gmt//\// }" # replace all / with spaces
gmt="${gmt/:/ }" # replace first : with space
然后将其与 GNU 日期一起使用:
TZ="MST" date --date="$gmt" +'%d/%h/%Y:%H:%M:%S %z'
输出:
08/Sep/2020:04:38:01 -0700
我有一个字符串变量(具有 GMT 偏移量的日期时间),格式如下。 如何在 bash shell 脚本中将其转换为 MST?
Input GMT :- 08/Sep/2020:11:38:01 +0000
Output MST :- 08/Sep/2020:04:38:01 -0700
我们可以这样得到偏移量
offset=$(date +%-z)
我不想再次从字符串转换为日期,然后使用偏移量和减去偏移量来达到 MST.Is 有更好的方法来转换它吗?
将 08/Sep/2020:11:38:01 +0000
与 bash
转换为 08 Sep 2020 11:38:01 +0000
:
gmt="08/Sep/2020:11:38:01 +0000"
gmt="${gmt//\// }" # replace all / with spaces
gmt="${gmt/:/ }" # replace first : with space
然后将其与 GNU 日期一起使用:
TZ="MST" date --date="$gmt" +'%d/%h/%Y:%H:%M:%S %z'
输出:
08/Sep/2020:04:38:01 -0700