Bash相对日期(x天前)

时间:2011-01-13 10:30:29

标签: linux bash date

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

但是如何判断这个日期是从我的脚本开始的?我想最终得到一个数字。

3 个答案:

答案 0 :(得分:7)

你可以做一些日期算术:

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

答案 1 :(得分:4)

将您的日期和现在转换为自纪元以来的秒数,减去,除以一天中的秒数:

#!/bin/bash

((a = `date -d "Wed Jan 12 02:33:22 PST 2011" +%s`))
((b = `date +%s`))
echo $(( (b-a) / (60*60*24)))

答案 2 :(得分:4)

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

date -d "`date`-5days"