Newsgroup: it.comp.os.linux.iniziare
Titolo: Bug o caso non documentato di Date?

Se do, in perfetto little endian, questo comando:
$: date +"%c" --date="03/21/1920"
 
date ni restituisce "data non valida".. sento odor di figuraccia,
ma lo chiedo ugualmente: cos'e' successo quel giorno, primavera a
parte?
 
-- 
Yoda
 

 parte?
 
Mi autorispondo (finalmente ci sono arrivato). Entra l'ora legale,
date da' inesistenti le date d'ogni anno in coincidenza del cambio
di ora e a quei tempi era proprio a mezzanotte.
 
Un rimedio puo' essere di procedere nei programmi-script con l'
opzione "-u" per date.
 
-- 
Yoda
 


Mi pare che i sistemi UNIX non possano andare piu' indietro del primo 
gennaio 1970.


A me funziona:
 
$ date +"%c" --date="03/21/1920"
1920-03-21T00:00:00 CET
 
bye,
 
-- 
 
piergiorgio

Addi' 06 mar 2021 11:18:27, Piergiorgio Sartor scrive:

E tu allora, per non farlo funzionare, prova a dare:
$: date +"%c" --date="1920-02-21T00:00:00"
 
perche' e' l'ora 0 che non esiste, le altre ore si'.
 
Pero' per esempio col little endian invece da me fa cose strane,
guarda:
$: date +"%c" --date="03/21/1920T00:00:00"
sab 20 mar 1920 18:00:00 CET
 
Comunque (rispondo anche ad Alex) le spiegazioni, perfette e
complete, le da' tutte il comando date stesso, basta darlo con
l'opzione --debug ciao
 
-- 
Yoda
 

 $: date +"%c" --date="1920-02-21T00:00:00"
 
Questo altro non funziona:
 
$ date +"%c" --date="03/21/1920T24:00:00"
date: invalid date ‘03/21/1920T24:00:00’
 
Con l'ora 24:00:00, che, appunto, non esiste...
 
bye,
 
-- 
 
piergiorgio

 sab 20 mar 1920 18:00:00 CET
 
Secondo me abbiamo un "date" diverso:
 
$ date +"%c" --date="03/21/1920T00:00:00"
1920-03-21T08:00:00 CET
 
Nel mio sistema (Fedora 33), "date" e` in:
 
coreutils-8.32-18.fc33.x86_64
 
So che "date" non e` un SW facile, puo` darsi
che vi siano stati bug fix o modifiche, tali
da renderlo piu` robusto, non saprei...
 
bye,
 
-- 
 
piergiorgio

 da renderlo piu` robusto, non saprei...
 
Be' si' la tua e' piu' nuova 8.32 contro 8.30, comunque prova a
darlo con --debug ciao
 
-- 
Yoda
 

 Vedi? anche questa non esistera': date --date=2021-03-28T02:00:00.
 
Questa non esiste neanche da me.
 
Evidentemente, pero`, gli altri casi non
corrispondono, in qualche maniera, fra le
due versioni di "date"...
 
bye,
 
-- 
 
piergiorgio

 Perche' si mettono gli orologi avanti, infatti, come avevo scritto
 
Si, ma forse non nel 1920...
 
E forse questo e` stato corretto nella
versione 8.32 (od 8.31)...
 
bye,
 
-- 
 
piergiorgio

 Si, ma forse non nel 1920... 
 
nel 1920 si mettevano avanti l'orologio alla mezzanotte. adesso alle 2, infatti se provi con un qualsiasi orario fra le 2 e le 3 del 28/03/2021 ottieni data non valida.
quando c'è il cambio ora legale quell'ora, per convenzione, non esiste.
 

 quando c'è il cambio ora legale quell'ora, per convenzione, non esiste.
 
Si, che intendevi questo ora mi e` chiaro.
 
bye,
 
-- 
 
piergiorgio

 con le versioni di "date" successive.
 
nessun bug. queste informazioni sono in queste informazioni sono in /usr/share/zoneinfo/ a seconda della zona che scegli c'è scritto tutto lì. 

 nessun bug. queste informazioni sono in queste informazioni sono in /usr/share/zoneinfo/ a seconda della zona che scegli c'è scritto tutto lì. 
 
Ah! Ecco! Giusto! Questa e` la differenza!
 
Grande!
 
bye,
 
-- 
 
piergiorgio