我有一些ISO-8601周期日期,例如:
a) P7M2D
b) P142D
(a=7个月2天前)(b=142天前)
我想弄清楚是否有一种方法可以使用bash脚本(shell)来确定日期。如果今天是2019年10月25日,那么答案是:
a日期:2019年3月23日
b日期:2019年6月5日
理想情况下,它应该以yyyy/mm/dd格式打印日期
$> ./script.sh P7M2D
2019/03/23
$> ./script.sh P142D
2019/06/05
不知道用Python是否更容易做到这一点,请随意给出一个Python示例,但我对Python不太熟悉
您几乎可以用普通的bash来实现这一点:bash的
printf
有一个%(date_format)T
格式化程序来对给定时间值的日期进行strftime,但是bash没有任何方法来解析一个datetime字符串此版本取决于GNU日期:
那么
快速浏览Python文档会让我觉得用Python很难做到这一点:timedelta没有提供“月”字段(毕竟,7个月有多少天?)
但是Perl的DateTime module(必须安装)可以做到:
相关问题 更多 >
编程相关推荐