当前位置: 代码迷 >> VB Dotnet >> VB时间戳转换为系统日期解决方法
  详细解决方案

VB时间戳转换为系统日期解决方法

热度:242   发布时间:2016-04-25 02:21:09.0
VB时间戳转换为系统日期
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 
  相关解决方案