1{print $NF}' 我得到了输出 -0530这意味着与 GMT 相差 5 小时 -6ren">
gpt4 book ai didi

linux - 需要在 shell 中拆分 "date"命令输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:12:56 24 4
gpt4 key购买 nike

我想拆分日期命令输出并提取时区差异并以 30 分钟表示该时差。我试过这个:

date -R | awk 'NF>1{print $NF}'

我得到了输出 -0530这意味着与 GMT 相差 5 小时 30 分钟。现在我想将这个 -0530 转换成 -11。那么我应该在 shell 命令中使用什么逻辑呢?

最佳答案

date -R | awk '{tz=$NF;ew=substr(tz,1,1);h=substr(tz,1,3)*2;m=ew substr(tz,4,2)/30;print h + m}'

https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC

编辑以使用省略号

date -R | awk '{tz=$NF;l=length(tz);m=substr(tz,l-1,2)/30;h=substr(tz,l-3,2)*2;ew=l>4?ew=substr(tz,1,1):"+";print (ew h)+(ew m)}'

关于linux - 需要在 shell 中拆分 "date"命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com