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.