我想将Unix时间戳转换为VB.NET DateTime。
我试过了
Public Function UnixToDateTime(ByVal strUnixTime As String) As DateTime
Dim nTimestamp As Double = strUnixTime
Dim nDateTime As System.DateTime = New System.DateTime(1970, 1, 1, 0, 0, 0, 0)
nDateTime.AddSeconds(nTimestamp)
Return nDateTime
End Function
但是当我喂它时
strUnixTime = "1401093810"
我得到了返回值
nDateTime = #1/1/1970#
我做错了什么? 谢谢
答案 0 :(得分:7)
这行代码
nDateTime.AddSeconds(nTimestamp)
不修改nDateTime
。这就像在一行上写a + 3
一样 - a
不会被修改。
然而,返回包含递增值的新DateTime对象。所以,你真正想写的是:
nDateTime = nDateTime.AddSeconds(nTimestamp)
PS:您的代码似乎没有使用Option Strict On
。强烈建议您激活Option Strict
并使用显式而非隐式转换。