Il giorno della settimana {0-7} in crontab ha 8 opzioni, ma abbiamo solo 7 giorni in una settimana


113

Giorno della settimana: intervallo consentito 0 - 7. Domenica è 0 o 7.

Ho trovato questo dopo Google, la mia domanda è: perché entrambi i valori (0,7) dovrebbero corrispondere a domenica?


15
Penso che una logica pensi che alcuni paesi inizino la settimana il lunedì e altri la domenica, quindi prima e l'ultima domenica risolviamo questo malinteso, immagino
Kiwy,

10
Perché la domenica è un giorno così bello, non sei d'accordo? : P
Alko,

3
Perché gli americani pensano che la domenica sia il primo giorno della settimana, ma gli europei dicono che la domenica è l'ultimo giorno della settimana.
Pieter B,

9
Non dimenticare di Funday.
MDMoore313,

6
Perché entro il settimo giorno, Dio completò la sua opera che aveva compiuto, e si riposò il settimo giorno da tutta la sua opera che aveva compiuto.
user84207,

Risposte:


127

Questa è una questione di portabilità. All'inizio di Unices, alcune versioni di cron accettavano 0 come domenica e alcune accettavano 7 come domenica: questo formato è un tentativo di essere portabile con entrambi. Da man 5 crontabin vixie-cron (enfatizzare il mio):

Quando si specifica il giorno della settimana, sia il giorno 0 che il giorno 7 verranno considerati domenica. BSD e AT&T sembrano non essere d'accordo su questo.


41
Esistono 10 tipi di persone, quelle che iniziano a contare con 0 e quelle che iniziano con 1.
Hagen von Eitzen,

34
@HagenvonEitzen Ricordo la battuta in modo diverso: ci sono 10 tipi di persone, quelli che capiscono il binario e quelli che non lo fanno. - Inoltre: ci sono 2 tipi di persone: (1.) quelli che iniziano a contare con 1, (1.) quelli che iniziano con 0.
leemes

7
Ne ho un'altra versione - ci sono tre tipi di persone al mondo - quelle che possono contare e quelle che non possono.
flurbius,

25
Oppure: ci sono due tipi di persone. Quelli che possono estrapolare da dati incompleti.
Bernhard,

20
Oppure: ci sono 10 tipi di persone al mondo: quelli che comprendono il codice Gray, quelli che non lo fanno e quelli che si aspettavano una battuta sul binario.
OnoSendai,

28

Oltre all'eccellente risposta di @ ChrisDown, questa potrebbe anche essere una buona soluzione a un problema di localizzazione : "Secondo i calendari ebraici e i tradizionali calendari cristiani, la domenica è il primo giorno della settimana". Avere entrambi i modi, che è davvero facile a livello di programmazione, lo rende facile da usare per entrambi i gruppi.


Complimenti, per il tuo supporto @ l0b0
Ruban Savvy il

5
+1, buona risposta. Suppongo che questo sia il motivo per cui AT&T e BSD non erano d'accordo :-)
Chris Down il

:) spero così eh eh;)
Ruban Savvy il

1

Più semplicemente, il campo è di 3 bit binari che danno da 000 a 111 o da 0 a 7. Quindi ci sono un totale di otto valori in un campo a 3 bit. Il valore extra è uguale al primo, quindi, per comodità, puoi iniziare da 0 (domenica) o 1 (lunedì), aumentare di 6 volte e coprire un'intera settimana.


-6

Dal manuale:

giorno della settimana (0 - 7) (da 0 a 6 sono da domenica a sabato, o usano i nomi; 7 è domenica, uguale a 0)


16
In che modo si aggiungono nuove informazioni che l'OP non sembra conoscere?
Joseph R.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.