如何把日期转为16进制数据

wjssong 2009-09-30 12:53:58
例如把:2009-8-19 8:52:51 转换为4字节16进制 0x121E79E3
...全文
670 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2009-09-30
  • 打赏
  • 举报
回复
Dim i As Long
Dim dt As DataTime
dt = "2009-8-19 8:52:51"
i = dt
Msgbox "0x" & Hex(i)
三楼の郎 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wjssong 的回复:]
http://zhidao.baidu.com/question/53949313.html
我也不知道什么规则,算出来结果和上面一样就对了
[/Quote]
http://zhidao.baidu.com/question/53949313.html这个人家已经解释的很清楚了,后面的16进制数是从1970-01-01 00:00:00到某个时间所经历的秒数,比如:0x4817EEE1是从1970-01-01 00:00:00到2008-04-30 14:02:00之间的秒数,用代码来算就是:
Hex(DateDiff("s", "1970-01-01 00:00:00", "2008-04-30 14:02:00"))

你这个16进制数应该是从2000-01-01 00:00:00到2009-08-19 08:52:51所经历的秒数。
Hex(DateDiff("s", "2000-01-01 00:00:00", "2009-08-19 08:52:51"))
wozaihuaqiaodaxue 2009-09-30
  • 打赏
  • 举报
回复
哦。。原来是这样。。
Tiger_Zhao 2009-09-30
  • 打赏
  • 举报
回复
你和5楼链接的起点日期不一样。
dim l as long 
l = datediff("s",#2000-1-1#,#2009-8-19 8:52:51#)
debug.print hex(l)
wjssong 2009-09-30
  • 打赏
  • 举报
回复
http://zhidao.baidu.com/question/53949313.html
我也不知道什么规则,算出来结果和上面一样就对了
threenewbee 2009-09-30
  • 打赏
  • 举报
回复
121E79E3是怎么得来的。

Msgbox "0x" & Format("00000000", Hex(i))
hanvan 2009-09-30
  • 打赏
  • 举报
回复
有什么规则?
wjssong 2009-09-30
  • 打赏
  • 举报
回复
谢谢caozhy 结果不正确啊,算出来是0x9C6C,2字节

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧