Foxtable(狐表)用户栏目专家坐堂 → 请教这种时间戳怎么转为日期时间?


  共有1069人关注过本帖树形打印复制链接

主题:请教这种时间戳怎么转为日期时间?

帅哥哟,离线,有人找我吗?
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/10/11 14:31:00 [显示全部帖子]

百度参考带代码:不知道对不对,自己修改一下
Dim myDate As Date
Dim myNumber As Long
myNumber = 45568.77 '假设数字为45568.77
myDate = DateSerial(Year:=Year(DateSerial(1900, 1, 1)) + Int(myNumber / 365), _
                    Month:=Month(DateSerial(1900, 1, 1)) + Int((myNumber Mod 365) / 30.42), _
                    Day:=Day(DateSerial(1900, 1, 1)) + (myNumber Mod 365) Mod 30.42)
MessageBox.Show( "日期为:" & myDate)

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/10/11 14:39:00 [显示全部帖子]

这个方法也可以试试:
Dim oaDate As Double = 45568.77
Dim days As Integer = CInt(Math.Floor(oaDate))
Dim hoursAndMinutes As Double = oaDate - days
' 创建一个基准日期,OA日期的0对应于1899年12月30日
Dim baseDate As New DateTime(1899, 12, 30)
Dim dateResult As DateTime = baseDate.AddDays(days)
' 将小时和分钟转换为TimeSpan
Dim hours As Integer = CInt(Math.Floor(hoursAndMinutes))
Dim minutes As Integer = CInt(((hoursAndMinutes - hours) * 60))
Dim timeResult As New TimeSpan(hours, minutes, 0)
' 将时间添加到日期
Dim result As DateTime = dateResult.Add(timeResult)
MessageBox.Show( "日期为:" & result.ToString("yyyy-MM-dd HH:mm:ss"))

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/10/11 15:09:00 [显示全部帖子]

msgbox(DateTime.FromOADate(45568.77) ) 算出来不对,得到的结果是2024-10-03 18:28:48
不知道什么问题

 回到顶部