0

我需要在 OSX 中找到(我提到这一点,因为date与大多数 Linux 发行版有不同的选项),自某个日期以来已经过去了多少 X 天。

假设日期是 2013 年 7 月 31 日,我需要找出 10 天的增量已经过去了多少。今天(2013 年 8 月 29 日)运行命令 - 结果将是2,明天(2013 年 8 月 30 日),结果将是3.

4

2 回答 2

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) ))"
于 2013-08-29T15:03:07.630 回答
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) 以来的时间戳以秒为单位。

于 2013-08-29T14:35:59.800 回答