GNU date
命令可以输出从-1 hour
或1 month ago
等相关项计算的日期。它还可以输出不同输入格式的日期(例如日历日期,自纪元以来的秒数等)。
是否可以使用GNU§date
实用程序结合日期格式和相对时间来计算给定日期的新日期?
类似的东西:
date_epoch=`date "+%s"`
date --date="@$date_epoch -1 month"
第二个命令给出“错误的日期”错误...
答案 0 :(得分:3)
你可以做到,当然:
$ date -d"$(date -d@$date_epoch) -1 month" "+%Y-%m-%d"
2013-09-16
来自:
$ date_epoch=$(date "+%s")
$ date -d@$date_epoch
Wed Oct 16 23:46:50 CEST 2013
你可以使用它“硬编码”:
$ date -d"Wed Oct 16 23:46:50 CEST 2013 -1 month"
Mon Sep 16 23:46:50 CEST 2013
或使用变量:
$ date -d"$(date -d@$date_epoch) -1 month"
Mon Sep 16 23:46:50 CEST 2013