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]

Rispondere a