Autore Topic: Tempo Unix e problema dell'anno 2038  (Letto 925 volte)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #15 il: 06 Aprile 2018, 15:00:05 »
Da nessuna parte, ho sparato una c....a estemporanea, ultimamente mi succede un po troppo spesso, colpa della primavera... sommata alle precedenti  :-[

Circa il problema della differenza in effetti sono 4 ore mentre dovrebbero essere due (in più fra noi e UTC essendo in vigore l'ora legale) per me è un bug che invece di di sommare sottrae o viceversa.
A mio parere occorrerebbe chiedere a Minisini chiarimenti su questo e anche su Print che dovrebbe localizzare...
Comunque con le date e gli orari c'è da perdersi, per me è come algebra  ;D

 :ciao: :ciao:

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #16 il: 06 Aprile 2018, 15:28:29 »
Ho fatto una specie di prova del nove e ora mancano le due ore canoniche  :-\

Codice: [Seleziona]
Public Sub Main()

  Dim i, u, r As Float

  i = 60 * 60 * 24 ' ottengo gli ms di un giorno
  u = CFloat(Date.ToUnixTime(Now)) ' ottengo gli ms da epoca
  r = u / i
  r = Frac(r) ' ottengo la rimanenza odierna
  Print Time(r) ' la tramuto in tempo, e se aggiungessimo 2 ore...

End
... Scusate avevo saltato un passaggio...

 :ciao: :ciao:
« Ultima modifica: 06 Aprile 2018, 15:40:41 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.702
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #17 il: 06 Aprile 2018, 15:49:17 »
Citazione
Affinché i due risultati siano identici, devo aggiungere 4 ore alla data/orario...
Confermo!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #18 il: 06 Aprile 2018, 16:09:51 »
Citazione
Affinché i due risultati siano identici, devo aggiungere 4 ore alla data/orario...
Confermo!
 :ciao:

Infatti, se facciamo "la prova del nove" :
Codice: [Seleziona]
Public Sub Main()

  Dim i, u, r As Float

  i = 60 * 60 * 24 ' ottengo gli ms di un giorno
  u = CFloat(DateDiff("01/01/1970", Now, gb.Second)) ' ottengo (dovrei ottenere) gli ms da epoca
  r = u / i
  Print Int(r) ' ottengo i giorni per curiosità :-)
  r = Frac(r) ' ottengo la rimanenza odierna
  Print Time(r) ' la tramuto in tempo, e se sottraggo 4 ore ottengo UTC (- 2 il tempo locale) MISTERO

End

Otteniamo le 4 ore in più sul tempo UTC

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #19 il: 06 Aprile 2018, 16:23:40 »
A mio parere occorrerebbe chiedere a Minisini chiarimenti su questo

...forse la risposta al nostro problema è stata già data da S.Agostino, quando sul tempo lui afferma:

" Se nessuno me lo chiede, lo so; se cerco di spiegarlo a chi me lo chiede, non lo so. "     ;D
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #20 il: 09 Aprile 2018, 19:52:18 »
L'errore sembra risolto con l'ultimo commit ora le funzioni qui riportate restituiscono il tempo UTC corretto.

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tempo Unix e problema dell'anno 2038
« Risposta #21 il: 09 Aprile 2018, 21:45:54 »
L'errore sembra risolto con l'ultimo commit

Ah !?

« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »