如何以日期格式显示Unix日期(而不是秒)



日期即将到来(实际上是2022-01-08(,Unix时间将变为19000天。目前,有一种方法(即%s(以日期显示Unix second,但似乎没有方法以日期格式显示Unix day。如何在日期中显示Unix day?如果不可能,那么如何为它引入新的日期格式符号(%?(符号?

为什么?

  1. Epoch日期只需除以Unix seconds / 86400即可轻松计算,并且与自然十进制时间一样适用,其中:

    1d年=1000 days,1d月=100 days,1d周=10 days
    1天小时=0.1 days,1天分钟.0.001 days,1d秒_0.00001 days

  2. Unix second的数字不同,Unix day的数字近似于小于1个数量级的普通时间概念的长度,因此与decimal time and date一样有效,其中:

例如,现在是Unix day = 18993.94830052069表示:

18993.94830052069
  \   30.052069 th decimal second
   \  48 th decimal minute
    \  9 th decimal hour
     \ 3 rd day of week
       9 th decimal week
        9 th decimal month
        18 th decimal year

Unix day,这样解释,作为对十进制时间的自然支持,具有使用方便的优点,因此有些人使用它并需要它。

最后,我想知道一条将这种时间显示作为*nix系统中显示日期和时间的支持方式之一的路径。

date+%s显示Unix秒,有办法用它显示Unix日吗?

不,这是不可能的。

如何为其引入新的日期格式符号(%?(符号?

下载您正在使用的date实用程序实现的源代码,并使用自定义修饰符对其进行修补。GNU日期(如果您使用的是GNU日期…(是GNU核心图的一部分,请参阅https://www.gnu.org/software/coreutils/。日期实用程序遵循POSIX规范。

我从来没有遇到过对";自具有小数部分的历元以来的天数;总体安排我不相信它有任何实际用途。我不认为应该在date中添加这样的格式说明符。我看不出它有什么价值;自具有小数部分的历元以来的秒数";(date +%s.%N(,这只是一个单位的变化。我不希望那些辛勤工作的GNU开发人员将他们的工作免费提供给世界,让他们把时间花在没有实际应用的事情上。我希望他们把时间花在与家人或其他更重要的事情上。因此,我鼓励您不要花开发人员的时间,除非您能够强烈证明社区出于实际原因需要这样的格式说明符。

最新更新