dateLong = 1331078400000
Dim dt As DateTime = DateTime.FromFileTime(dateLong)
Dim dt2 As DateTime = DateTime.FromFileTimeUtc(dateLong)
这两个方法转换的日期都不对,有那个方法能实现正确的转换啊
------解决方案--------------------
你提供 的dateLong = 1331078400000就是返回 1601年
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