16,721
社区成员




Public class UnixTime
Public ReadOnly UnixEpoch As DateTime= new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
Public Function ToUnixTime(ByVal dateTime As DateTime) As Long
dateTime = dateTime.ToUniversalTime()
Return CLng(dateTime.Subtract(UnixEpoch).TotalSeconds)
End Function
Public Function FromUnixTime(ByVal unixTime As Long) As DateTime
Return UnixEpoch.AddSeconds(unixTime)
End Function
End Class
Dim dt as DataTime = UnixTime.FromUnixTime(iStrTime)
Dim dt As DateTime = DateTime.FromFileTime(dateLong)
Dim d As String = DateTime.FromFileTime(dateLong).ToString("yyyy-MM-dd HH:mm:ss")
Long型一般是表示为 Windows 文件时间的当前 DateTime 对象的值,它表示自协调通用时间 (UTC) 公元 (C.E.) 1601 年 1 月 1 日午夜 12:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数。Windows 使用文件时间记录应用程序创建、访问或写入文件的时间。用Date.FromFileTime(long)方法。还有一个 FromFileTimeUtc(long)方法,是将当前文件时间转换为同时的UTC(协调通用时间)
Dim l As Long = 128208176211955002
Dim dt As DateTime = DateTime.FromFileTime( 128208176211955002 )
Dim dt2 As DateTime = DateTime.FromFileTimeUtc( 128208176211955002 )
Debug.WriteLine(dt.ToString)
Debug.WriteLine(dt2.ToString)
执行结果:
2007 / 04 / 12 11 : 13 : 41
2007 / 04 / 12 2 : 13 : 41