Linux Shell中不修改系统时间设置如何获取CST格式当前日期
Linux 不修改系统设置获取CST时区时间的实现方法
你可以通过临时指定TZ时区环境变量的方式实现,该方式仅对目标命令/当前Shell会话生效,完全不会改动系统全局时区配置:
- 单次命令生效(推荐,无任何副作用)
直接在date命令前指定TZ参数为CST-8(对应中国标准时间,UTC+8偏移),修改后的命令如下:
以你给出的UTC时间返回值todaysDate=$(TZ='CST-8' date +%Y-%m-%d-%H:%M:%S); echo 'todaysDate: '${todaysDate};2022-06-03-09:15:42为例,上述命令执行后会返回CST对应时间:todaysDate: 2022-06-03-17:15:42
- 当前Shell会话临时生效
如果你需要当前终端窗口内后续所有时间相关命令都默认使用CST时区,可以先在会话内导出TZ变量,关闭终端后配置自动失效,不会影响系统设置:export TZ='CST-8' # 后续直接调用date即可获取CST时间 todaysDate=$(date +%Y-%m-%d-%H:%M:%S); echo 'todaysDate: '${todaysDate};
注意:请勿直接使用
TZ=CST配置,CST是多义时区缩写,可对应美国中部时间(UTC-6)、澳大利亚中部时间(UTC+9:30)、中国标准时间(UTC+8)等多个时区,明确指定CST-8才能准确获取中国标准时间,避免偏移错误。
内容的提问来源于stack exchange,提问作者user19153785
相关产品推荐
相关产品推荐

