【发布时间】:2011-12-24 22:36:25
【问题描述】:
我需要在 UNIX 中使用 Bash 将 Julian 时间戳转换为常规时间戳。
在 Tandem OS 上,转换非常简单 -
示例: 212186319010244541
$OLSAPP SYSTST 1> #interprettimestamp 212186319010244541
#interprettimestamp 212186319010244541 expanded to:
2455860 2011 10 25 16 10 10 244 541
我希望在 UNIX 环境中做同样的事情。转换将成为解析器脚本的一部分。所以单行将不胜感激。
更新:
Tandem 上的 INTERPRETTIMESTAMP 内置函数返回以空格分隔的九个数字列表,包括儒略日数、年、月、日、小时、分钟、秒、毫秒和微秒。
【问题讨论】:
-
212186319010244541 的纪元时间是多少?这是真正的儒略时间吗,就像儒略历那样?
-
来自docs:朱利安时间戳是“表示自公元前 4713 年 1 月 1 日以来的微秒数的值”
-
如何定义“常规时间戳”?我可以猜到 2011, 10, 25, 16, 10, 10 是公元年、月、月中的一天、一天中的小时(16 点)、10 分钟、10 秒。但剩下的数字是多少,即 2455860, 244, 541 ?我在您引用的文档中没有提到输出格式。
-
这里有几十个关于 S.O. 的问题。关于在 Unix 中转换日期。最简单的解决方案是使用 GNU date 实用程序,如果您使用的是 linux,那么您几乎可以肯定它是 /bin/date,所以
man date也会为您提供很多信息。祝你好运。
标签: bash timestamp julian-date