At 10.16 11/10/2006, Lazzari Antonio wrote:
Il giorno mar, 10/10/2006 alle 21.24 +0200, Marco Caresia ha scritto: > Lazzari Antonio wrote: > C'è la possibilità di verificare questa affermazione? Mi sembra poco > probabile... Semplicemente l'ho dato per scontato visto che le correzioni alle date che vengono fatte sono note.
Ho incocciato problemi simili almeno 10 volte e ogni volta ho dovuto trovare una soluzione diversa, in base al software che avevo a disposizione.
Ho letto la doc di tutte le funzioni time & date di OOo ma temo che ti illudi: OOo non offre a quanto sembra nessun sistema per passare da un numero intero di secondi a una data e ora nel formato gg-mm-aaaa hh:mm:ss. Inoltre, tiene conto sicuramente degli anni bisestili quando passa dal 28 febbraio a marzo, ma quasi sicuramente NON TIENE CONTO dei secondi intercalari aggiunti ogni tanto dopo il secondo 23:59:59 del 31 dicembre o 30 giugno.
Faccio queste affermazioni perche' il formato dell' "istante" in OOo non e', come in Linux, un numero intero di secondi passati da una certa mezzanotte di un capodanno, ma un numero floating in cui: - la cui parte intera e' il numero di giorni (positivi o negativi) passati dalle ore 00 (mattino) del 30 dicembre 1899 (non chiedete a me perche' proprio il 30 e non il 1 gennaio 1900 o meglio 1901, mi sa di bug...), e - la parte frazionaria e' la parte frazionaria del giorno (numero di secondi passati da mezzanotte / 86400: non risulta che ogni tanto consideri 86401).
Per tutti gli usi civili e' piu' che sufficiente; per gli usi scientifici, ti obbliga a fare i conti a mano, costruendo e usando una tabellina dei 23 secondi intercalari decisi dal '72 ad oggi da aggiornare in futuro a ogni capodanno e 30 giugno in seguito alla decisione dell'International Earth Rotation Service. Per oggi la trovi qui:
http://en.wikipedia.org/wiki/Leap_second Il formato interno di OOo spiega anche il 1954:
> Perché 1954? perchè è la data che mi restituisce OOo quando gli metto il formato nell'unità di misura che mi restituisce il logger, che parte invece dal 1970. Come vedi sono unità di misura o notazioni diverse e quindi non si parlano, ma non so come fare a convertirle l'una nell'altra perchè non ha mai visto una notazione che parte dall'1/1/70.
Se trasformi un numero intero in data/ora in Calc, OOo lo interpreta come numero di giorni passati dal 1 gennaio 1900. Evidentemente avevi un numero "di secondi" di poco superiore a 365*55, che Calc ha interpretato come giorni.
Quindi la mia domanda era se qualcuno ha già avuto a che fare con notazioni di questo tipo e come le ha convertite nei formati standard di OOo. Quando io metto il numero OOo mi deve restituire 1/1/1970 che è quello che mi registra il datalogger, ma come fare?
FAI LA CONVERSIONE IN MySQL. Al momento dell' estrazione dei dati che devi importare in Calc. Li' trovi tutte le funzioni che ti servono e che tengono conto anche dei secondi intercalari.
Buono studio di MySQL, ciao -- Tommaso RUSSO ENTEOS - C/O AREA Science Park Padriciano 99, I-34012 Trieste +39 040 375.5719 [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
