我需要在OSX中找到(我之所以提到这一点,因为date
与大多数Linux发行版有不同的选项),自某个日期起已经过了多少X天的增量。
假设日期是2013年7月31日,我需要查看已经过了10天的增量。今天(2013年8月29日)运行命令 - 结果为2
,明天(2013年8月30日),结果为3
。
答案 0 :(得分:1)
获取时间戳然后计算它:
echo "$(( ($(date -d 'now' '+%s') - $(date -d 'July 31, 2013' '+%s')) / (10 * 24 * 3600) ))"
更易读的形式:
now=$(date -d 'now' '+%s')
other=$(date -d 'July 31, 2013' '+%s')
echo "$(( (now - other) / (10 * 24 * 3600) ))"
时间戳以纪元(1970-01-01 UTC)为单位,以秒为单位。
答案 1 :(得分:1)
根据@ konsolebox的回答,这里是如何在OSX上做到这一点(请参阅他在Linux上的解决方案)。
echo "$(( ($(date '+%s') - $(date -j -f '%Y-%m-%d' '2013-07-31' '+%s')) / (10 * 24 * 3600) ))"
或(细分)
now=$(date '+%s')
other=$(date -j -f '%Y-%m-%d' '2013-07-31' '+%s')
echo "$(( (now - other) / (10 * 24 * 3600) ))"