Newsgroup: it.comp.os.linux.iniziare
Titolo: Date: bug o c'e' un motivo?

Il 1 giugno 1969 e' un giorno interdetto, date non lo prende (da me!
con Debian stretch old-stable tutta al default) in nessun formato d'
input. Esempi:
date --date='6/1/69'
date --date='6/1/1969'
date --date='06/01/1969'
date --date='1969-6-1'
date --date='1-jun-1969'
date --date='1-june-1969'
date --date='1-June-1969'
 
(l'ho scoperto per caso, testavo perche' 69..99 vanno in 1969..1999,
mentre invece tutti gli altri a due cifre vanno nel 2000: 20nn)
 
-- 
bye, Yoda
 


C'è sicuramente qualche bug nella debian.  Lo fa anche il server 
dell'Universitå mentre la slackware a casa funzione bene.  Potrebbe 
avere a che fare con il fatto che le date anteriori al 1-1-70 dovrebbero 
essere rappresentate da un numero di secondi negativo
 
$ lsodgf0@marina:~ >
$ lsodgf0@marina:~ > date --date='6/1/69'
Sun Jun  1 00:00:00 MET 1969
$ lsodgf0@marina:~ > date --date='1-jun-1969'
Sun Jun  1 00:00:00 MET 1969
$ lsodgf0@marina:~ > date --date='6/1/69' +%s
-18493200
$ lsodgf0@marina:~ > ssh 
giov...@sirin.tlc.net.it
 
giov...@sirin.tlc.net.it
's password:
 
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
 
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
 
 
No mail.
Last login: Tue Nov 12 09:19:40 2019 from 
marina.tlc.net.it
 
 
$ giovanni@sirin:~ > date --date='6-1-1969'
date: invalid date â6-1-1969â
$ giovanni@sirin:~ > date --date='1-jun-1969'
date: invalid date â1-jun-1969â
$ giovanni@sirin:~ > date --date='2-jun-1969'
Mon Jun  2 00:00:00 CEST 1969
$ giovanni@sirin:~ > date --date='30-may-1969'
Fri May 30 00:00:00 CET 1969
$ giovanni@sirin:~ > date --date='5-31-69'
date: invalid date â5-31-69â
$ giovanni@sirin:~ > date --date='5-31-1969'
date: invalid date â5-31-1969â
$ giovanni@sirin:~ >
 
 
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

 C'è sicuramente qualche bug nella debian.
--snip--
 
Allora bisognerebbe dirglielo.. qualcuno che e' pratico, io no ciao e
grazie della risposta
 
-- 
Yoda
 

Il 12/11/19 10:09, Yoda ha scritto:

Temo lo dovrai fare tu perché non credo ci sarà qualcuno disposto a 
farlo al posto tuo. Io ne capisco meno di te e non uso debian...
 


Nel 1969 l'1 giugno a mezzanotte entrò in vigore l'ora legale (orologi
avanti 1 ora, vedi eg 
http://calendario.eugeniosongia.com/oralegale.htm
),
quindi da mezzanotte all'una sono tutti orari inesistenti (tutti i tuoi
esempi usano l'ora 00:00:00 implicitamente). Se chiedi un'orario a partire
dall'una funziona:
 
$ date --date='06/01/1969 01:00:00'
Sun 01 Jun 1969 01:00:00 AM CEST
 
-- 
Cio' che si vede, e'.
 


suggestivo e divertente, ma c'è il trucco. quel giorno scattò l'ora 
legale e a mezzanotte vennero portati avanti gli orologi (a quei tempi 
scattava a mezzanotte). questo vuol dire che dalla mezzanotte all'una di 
quel giorno non era una data/ora valida.
 
ma non è una particolarità di quel giorno: in realtà avviene ad ogni 
occasione quando scatta l'ora legale. per esempio: 
 
date --date="2020-03-29 02:30"
 
anche questa non è valida. mentre:
 
date --date="2020-03-29 03:30"
 
torna ad essere valida :-)

 dell'Universitå mentre la slackware a casa funzione bene. 
 
temo che invece sbagli la tua slackware. o meglio, è impostata sul 
timezone (met) che a quanto vedo ha i primi dati del daylight saving time 
a partire dal 1977.
 
❯ zdump -v MET | grep 1977
MET  Sun Apr  3 00:59:59 1977 UT = Sun Apr  3 01:59:59 1977 MET isdst=0 
gmtoff=3600
MET  Sun Apr  3 01:00:00 1977 UT = Sun Apr  3 03:00:00 1977 MEST isdst=1 
gmtoff=7200
MET  Sun Sep 25 00:59:59 1977 UT = Sun Sep 25 02:59:59 1977 MEST isdst=1 
gmtoff=7200
MET  Sun Sep 25 01:00:00 1977 UT = Sun Sep 25 02:00:00 1977 MET isdst=0 
gmtoff=3600
 
 
mentre gli altri hanno timezone Europe/Rome:
 
❯ zdump -v Europe/Rome | grep 1969
Europe/Rome  Sat May 31 22:59:59 1969 UT = Sat May 31 23:59:59 1969 CET 
isdst=0 gmtoff=3600
Europe/Rome  Sat May 31 23:00:00 1969 UT = Sun Jun  1 01:00:00 1969 CEST 
isdst=1 gmtoff=7200
Europe/Rome  Sat Sep 27 22:59:59 1969 UT = Sun Sep 28 00:59:59 1969 CEST 
isdst=1 gmtoff=7200
Europe/Rome  Sat Sep 27 23:00:00 1969 UT = Sun Sep 28 00:00:00 1969 CET 
isdst=0 gmtoff=3600
 
 
come vedi il 1/6/69 in italia c'è stato il cambio orario e la mezzanotte 
di quel giorno non è mai esistita :-)
però la tua slack non lo sa, perché il tz è diverso e non ha dati per 
saperlo.

Il 12/11/19 15:48, rootkit ha scritto:

GRAZIE!!!
A te (e a Marco) per la "chiarissima" lezione
Pù impari e più c'è da imparare :-)
 
gc

 saperlo.
 
Dunque era questo il motivo. Bene, allora questo mi spiega anche
perche' lo zero dei tempi-secondi e' a 1 ora del 1/1/1970 invece
che alla mezzanotte (cosa che mi sembrava molto stravagante, non
ci ho minimamente pensato all'ora legale).
Sara' anche giusto, non lo metto in dubbio, pero' e' una bella
seccatura dover dare:
date +%s --date='1/1/1970 1:0'
per avere lo zero ciao e grazie a tutti per le risposte
 
-- 
Yoda
 


no il celeberrimo 1/1/1970 ha a che fare con il clock di sistema non con 
la gestione delle date di linux che, ovviamente, può gestire qualsiasi 
data del calendario.

Addi' 13 nov 2019 05:54:20, rootkit scrive:

Scusa non mi riesce di seguirti, puoi spiegare? I secondi assoluti,
cioe' indipendenti dall'anno-mese-ora, partono da 1970-1-1 01:00:00.
Perche' non da 1970-1-1 00:00:00 ciao?
 
Postilla. Capisco che sarebbe meno conveniente (molto!) farli partire,
ad esempio, dall'anno 1 E.V., oppure dall'anno zero che sarebbe l'1 a.
C., che viene:
[~]yoda_$: date +%s --date='0000-1-1T00:00:00'
-62167222196
 
perche' ci porteremmo dietro 62 miliardi, quasi sempre inutili ariciao
 
-- 
Yoda
 


 
Grazie!  È dal 1993 che ho incontrato Linux e quando lo installai nel 
1996 veniva proposta, per l'Europa, la time zone MET.  Da allora ho 
sempre fatto gli aggiornamenti mantenendo la stessa time zone.
 
Forse è ora di cambiare!


 perche' ci porteremmo dietro 62 miliardi, quasi sempre inutili ariciao
 
non percepisco francamente il problema.