是否有任何简单的方法可以将(1327 天)之类的天值汇总为以下格式:
xx years; xx month; xx days
Run Code Online (Sandbox Code Playgroud)
不必为每个值使用单独的变量。
最好用一个命令。
Sté*_*las 10
对于包含数月或数年的持续时间,必须参考特定日期,因为不同的月份或不同的年份具有不同的长度。
要知道从现在到 1327 天的年/月/天,使用dateutils:
$ ddiff -f '%Y years, %m months, %d days' today "$(dadd now 1327)"
3 years, 7 months, 19 days
Run Code Online (Sandbox Code Playgroud)
(有时您可能会发现ddiff可用datediff或dateutils.ddiff; 与 相同dadd)。
这就是我现在在 2017-09-25 得到的(因为那是从 2017-09-25 到 2021-05-14)。如果我在 2018-03-01 运行它,我会得到:
3 years, 7 months, 17 days
Run Code Online (Sandbox Code Playgroud)
因为那是从 2018-03-01 到 2021-10-18。
在 2018-03-01 天,1327 天前会给3 years, 7 months, 16 days.
更多信息,请参阅如何使用 GNU 工具计算和格式化日期持续时间,而不是结果日期?