Conversione ora di Unix
Nelle ultime settimane sto provando le API di vari servizi Web, in particolare sull’astronomia e altri dati da mettere nella mia Web App.
I risultati di queste richieste, a volte, sono espressi in ora di Unix.
Ora di Unix? E cosa è? Chi mastica informatica sa di cosa sto parlando.
E’ un indicatore temporale; esso infatti esprime il numero dei secondi che sono passati dalla mezzanotte del 1° Gennaio 1970.
Nell’astronomia si usa il giorno giuliano, nel web si usa l’ora di Unix.
In questo articolo quindi vediamo il codice per trasformare un numero espresso in Ora (o Tempo) di Unix in una data leggibile anche ai comuni mortali, ossia in giorno, mese, anno, ora, minuti e secondi.
Apriamo quindi Visual Studio, creiamo un nuovo progetto in Vb.NET WPF, .NET Framework, ci aggiungiamo un pulsante e quindi scriviamo il seguente codice:
Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
Dim UnixTime As String = InputBox("Inserire l'ora di Unix")
Dim DataOra As DateTime = ConverteUnixTimeToDataOra(UnixTime)
MessageBox.Show(DataOra.ToString)
End Sub
Private Function ConverteUnixTimeToDataOra(unixTime As String) As Date
Dim Timestamp As Double = unixTime
Dim DataOraUnix As System.DateTime = New System.DateTime(1970, 1, 1, 0, 0, 0, 0)
Dim DataOra As DateTime = DataOraUnix.AddSeconds(Timestamp)
Return DataOra
End Function
Proviamo a lanciare l’applicazione, mettiamo come Input: 1651593937

Diamo l’OK ed ecco data e ora attuale:

L’ora ci verrà fornita in GMT o TU, per cui si dovrà aggiungere o togliere il proprio fuso orario ed eventualmente aggiungere l’ora legale. Per cui, al momento che sto scrivendo questo articolo, sono le 18:05 del 3/5/2022.
Adesso, possiamo usare le API che forniscono risultati in questo modo.
Rispondi