进一步阅读

进一步阅读

我正在接受 TZ 的输入,并且想将其转换为 (+/-)HHMM 格式。但不是与UTC比较,我希望它与当地时间比较。我该怎么做?

答案1

这不是使用bash.这是使用命令date和格式说明符(广泛使用但讽刺的是没有标准化 for,date尽管它是 for strftime())的一个相当简单的练习%z

TZ="亚洲/东京" 日期 +"%z"

这样就得到了当前的当然,UTC 偏移量考虑了夏令时切换。的各种实现date允许显示任意时间戳而不是当前时间,而无需尝试设置系统时钟,从而获得一年中其他时间的 UTC 偏移量。

例如:FreeBSDdate有一个选项,并以严格降序形式-j获取输入时间戳(默认情况下,如果未使用)。-f

%TZ="欧洲/里斯本" 日期 -j +"%z" "202401060000"
+0000
%TZ="欧洲/里斯本" 日期 -j +"%z" "202407060000"
+0100
%

还有一些工具,例如zdump,但date命令是这里最明显的一个。

进一步阅读

相关内容