Pour convertir le nombre de secondes en DateTime, dans VB .NET, j'utilise le code suivant:
Dim startDate As New DateTime(1970, 1, 1)
Dim targetDate As DateTime
Dim noOfSeconds As Integer = DataInSeconds
targetDate = startDate.AddSeconds(noOfSeconds)
4 Réponses :
Lorsque vous soustrayez DateTime CODE> des instances les uns des autres, vous obtenez un tispan code> - Vous pouvez l'utiliser pour obtenir le nombre de secondes:
1/1/1970 est l'époque Unix. Attention à ce que c'est une date UTC, vous ne pouvez pas ignorer cela dans les conversions. Ainsi:
Module DateConversion
Public ReadOnly Property Epoch() As DateTime
Get
Return New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
End Get
End Property
Public Function FromUnix(ByVal seconds As Integer, local As Boolean) As DateTime
Dim dt = Epoch.AddSeconds(seconds)
If local Then dt = dt.ToLocalTime
Return dt
End Function
Public Function ToUnix(ByVal dt As DateTime) As Integer
If dt.Kind = DateTimeKind.Local Then dt = dt.ToUniversalTime
Return CInt((dt - Epoch).TotalSeconds)
End Function
End Module
Label1.Text = New DateTime(1970, 1, 1, 0, 0, 0,
DateTimeKind.Utc).AddSeconds(CLng(TextBox1.Text) / 1000)
Make a textbox and a button and a label, put this code into the button and depending if you're using microseconds (keep the /1000) or seconds (delete the /1000) will show you the date/time etc.
Public Function Date2Unix(ByVal vDate As Date) As Long Return (vDate - #1970/01/01#).TotalSeconds End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MsgBox(Date2Unix(Now())) End Sub
Salut! Veuillez ajouter une explication à la solution en tant que code que des réponses seulement sont généralement découragées. Merci! --De revue.