是特定的,我不希望当前本地时间date +%z
或date -R
,但是我需要非常相似的东西,以便在过去的任何日期中起作用。例如,类似:
command 2018-04-01 12:33:45
应在2018年4月1日的12:33:45当地时间返回UTC偏移(假设芝加哥为我的本地时区(,例如芝加哥时间。
我进行了广泛的搜索,可能毫无疑问,每个人都希望当前偏移而不是日期时间特定的偏移,因此这不是重复的。
非常感谢
更新:
我在这里找到了一些东西,可以使用date
命令来超越日期,然后我将其与-R
合并,以使我想要的东西接近我想要的东西:
date -d "35 days ago" -R
我可以回35天并获得UTC偏移。
将特定日期时间转换为UTC,您可以使用以下命令
例如,您在问题中提供的日期
2018-04-01 12:33:45
那将是下面的
date -u --date=@$(date "+%s" --date="2018-04-01 12:33:45")
的输出类似于Sun Apr 1 10:33:45 UTC 2018
如果您想在此处实现command date
,则可以为上述命令创建一个命令别名,也可以在脚本中使用上面的命令,以提供日期值以转换为argument
我正在基于
来回答自己的问题- 提交问题后我自己的更新。
- Nahuel Fouilleul的评论。
引用我自己的"编辑":
"我在这里找到了一些东西,可以回答如何使用date命令来延续日期,然后我将其与-R
结合在一起,以使我想要的东西接近我想要的东西:
date -d "35 days ago" -R
我可以回35天并获得UTC偏移。"
这是纳哈尔(Nahuel(的评论:" date -d 2018-04-01T12:33:45 -R
呢"
这符合我在"编辑"中所写的内容。Nahuel的解决方案对我来说非常有效。
同样,乌斯曼·马利克(Usman Malik(的答案完美地提供了解决方案。
总而言之,我的答案(并非完全(是:
date -d specific_past_date -R
使用我在问题中提到的日期和时间的特定_past_date是我需要UTC偏移的日期,如果我这样做:
date -d 2018-04-01T12:33:45 -R
我从芝加哥获得Sun, 01 Apr 2018 12:33:45 -0500
,这意味着芝加哥时间是 5 在2018年4月1日落后于UTC的小时12:33:45。