crontab 中的第 {0-7} 天有 8 个选项,但我们一周只有 7 天

Rub*_*vvy 124 cron date

星期几:允许的范围是 0 – 7。星期日是 0 或 7。

我在谷歌搜索后发现了这个,我的问题是为什么两个值 (0,7) 都对应于星期日?

Chr*_*own 138

这是便携性的问题。在早期的 Unices 中,一些版本的 cron 接受 0 作为星期日,而一些版本接受 7 作为星期日——这种格式是一种对两者都可移植的尝试。来自man 5 crontabvixie-cron(强调我自己的):

指定星期几时,第 0 天和第 7 天都将被视为星期日。 BSD 和 AT&T 似乎不同意这一点。

  • 有10种人,从0开始数的人和从1开始数的人。 (45认同)
  • @HagenvonEitzen 我记得这个笑话的方式不同:有 10 种人,懂二进制的和不懂二进制的。-- 另外:有两种人:(1.) 从 1 开始数的人,(1.) 从 0 开始的人。 (37认同)
  • 或者:有两种人。那些可以从不完整的数据中推断出来的。 (28认同)
  • 或者:世界上有 10 种人——懂格雷码的人,不懂格雷码的人和期待二进制笑话的人。 (23认同)
  • 我还有另一个版本——世界上有三种人——会数数的人和不会数数的人。 (7认同)
  • 乐队“Zero 7”实际上发音为“Sunday Sunday”。 (2认同)

l0b*_*0b0 28

除了@ChrisDown 的出色回答之外,这也可能是解决本地化问题的绝妙解决方案:“根据希伯来日历和传统基督教日历,星期日是一周的第一天。” 两种方式都有,这在编程上非常简单,可以很容易地用于任一组。

  • +1,很好的答案。我认为这就是 AT&T 和 BSD 不同意的原因:-) (5认同)