crontabの曜日{0-7}には8つのオプションがありますが、週に7日しかありません


113

曜日:0〜7の範囲を許可します。日曜日は0または7です。

私はグーグルの後にこれを見つけました、私の質問はなぜ両方の値(0,7)が日曜日に対応するのですか?


15
私はので、私は推測する。この誤解最初と最後の決意日曜日をputing論理的には、いくつかの国は、日曜日に週月曜日といくつかの他の開始だと思うことを考える
Kiwy

10
日曜日はとてもひどい日なので、同意しませんか?:P
アルコ

3
アメリカ人は日曜日が週の最初の日だと思うが、ヨーロッパ人は日曜日が週の最後の日だと言っているからだ。
ピーターB

9
Fundayを忘れないでください。
MDMoore313

6
なぜなら、神は七日目までに彼が成し遂げた仕事を完了し、七日目に彼が成し遂げたすべての働きから休んだからです。
user84207 14

回答:


127

これは移植性の問題です。初期のユニックスでは、cronの一部のバージョンは日曜日として0を受け入れ、一部のバージョンは日曜日として7を受け入れました-この形式は両方とも移植可能です。man 5 crontabいるVixie-cronの(強調私自身の)中:

曜日を指定する場合、0日目と7日目の両方が日曜日と見なされます。 BSDとAT&Tはこれについて意見が一致していないようです。


41
人、0でカウントを開始する人と1で始まる人々の10種類があります
ハーゲン・フォン・Eitzenは

34
@HagenvonEitzen私は冗談を違って覚えています:バイナリを理解する人と理解しない人の10種類があります。-また、:人の2種類があります:(1)1でカウントを開始した者、(1)0で始まる人々
leemes

7
別のバージョンがあります-世界には3種類の人々がいます-数えることができる人とできない人です。
フルビウス

25
または:2種類の人がいます。不完全なデータから外挿できるもの。
ベルンハルト

20
または:世界には10種類の人がいます-グレイコードを理解している人、理解していない人、バイナリについての冗談を期待している人。
小野仙台

28

@ChrisDownの優れた答えに加えて、これはローカリゼーションの問題に対する素晴らしい解決策かもしれません。「ヘブライ語のカレンダーと伝統的なキリスト教のカレンダーによれば、日曜日は週の最初の日です。」両方の方法があり、プログラム的には非常に簡単ですが、どちらのグループでも簡単に使用できます。


称賛、サポート@ l0b0
Ruban Savvy

5
+1、良い答え。これがAT&TとBSDが同意しなかった理由だと思います:
クリスダウン

:)そう願っています;)
ルーバンサヴィー

1

もっと簡単に言えば、このフィールドは3バイナリビットであり、000〜111または0〜7になります。したがって、3ビットフィールドには合計8つの値があります。追加の値は最初の値と同じであるため、便宜上、0(日曜日)または1(月曜日)から開始し、6回増分して1週間をカバーできます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.