从毫秒转换为DateTime

时间:2013-11-07 19:25:21

标签: vb.net visual-studio

我使用过代码:

Dim val = ( _
        New DateTime( _
            DateTimePicker1.Value.Year, _
            DateTimePicker1.Value.Month, _
            DateTimePicker1.Value.Day, _
            CInt(TextBox1.Text), _
            CInt(TextBox2.Text), _
            0 _
        ) _
        - _
        New DateTime(1970, 1, 1, 0, 0, 0) _
    ).TotalMilliseconds
val = val + (CInt(TextBox2.Text) * 1000)

使用所选的输入日期和时间从1970年1月1日获得毫秒数。有没有人知道如何将这个值转换回我可用于在DateTimePicker中显示日期的内容以及我可以在其他地方使用的小时和分钟?

2 个答案:

答案 0 :(得分:4)

使用DateTime对象的AddMilliseconds()方法,如下所示:

' Calculation of milleseconds
Dim val = (New DateTime(DateTimePicker1.Value.Year, DateTimePicker1.Value.Month, DateTimePicker1.Value.Day, CInt(TextBox1.Text), CInt(TextBox2.Text), 0) - New DateTime(1970, 1, 1, 0, 0, 0)).TotalMilliseconds

' Start with new date object as January 1st, 1970 and then add milliseconds calculated above
Dim dateJan1st1970 As New DateTime(1970, 1, 1, 0, 0, 0)
Dim dateNew As DateTime = dateJan1st1970.AddMilliseconds(val)

答案 1 :(得分:2)

哇,这太复杂了:

Dim epoch As New DateTime(1970, 1, 1, 0, 0, 0)

Dim val = (DateTimePicker1.Value.AddSeconds(CInt(TextBox2.Text)) - epoch).TotalMilliseconds