Bash相对日期(x天前)

Den*_*søe 10 linux bash date

我有一个日期字符串,我能够date使用bash脚本中的命令进行解析和格式化.

但是,如何确定此日期是从我的脚本开始的?我想最后得到一个数字.

mar*_*rco 7

你可以做一些日期算术:

DATE=01/02/2010
echo $(( ( $(date +%s) - $(date -d "$DATE" +%s) ) /(24 * 60 * 60 ) ))
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,AIX上的日期版本没有-d选项,因此尽管OP要求Linux解决方案,但这不是一个跨平台的解决方案. (2认同)
  • 在 OSX 上,手册页显示:“-d dst 设置内核的夏令时值。” (2认同)

小智 5

使用日期本身作为日期的日期值。例如5天前:

date -d "`date`-5days"
Run Code Online (Sandbox Code Playgroud)

  • 无需打开子外壳:`date -d“ -5days”`相同:) (2认同)