如何将十六进制的时间室dword值转换为人类可读格式?
谁能解释如何将十六进制的时间室dword值转换为人类可读格式?
我只是对诸如0x62444db4之类的价值如何转换为 “ 2022年3月30日,星期三,下午10:31:48”
我当然尝试了谷歌搜索,但找不到任何解释。但是有在线转换器可用。
但是我只是对自己转换这些价值观感兴趣。
Can anyone explain how to convert a Hex TimeDateStamp DWORD value into human readable format?
I'm just curious as to how a value such as 0x62444DB4 is converted into
"Wednesday, 30 March 2022 10:31:48 PM"
I tried googling of course and could not find any explanation. But there are online converters available.
But I'm just interested in converting these values for myself.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的价值是32位时间戳。
您的DateTime值是32位UNIX时间戳:1970年1月1日以来的秒数。
请参阅 https://unixtime.org/
在大多数编程语言中,您可以直接使用hexadecimal note。
由于很多工程都参与其中,因此不应单独实施实施。 leap年,甚至leap秒,时区,日光节省时间,UTC ...使用时间戳时所有这些都需要解决。
我在下面添加了粗略的计算作为演示。绝对使用现有软件包或库与时间戳一起使用。
有关演示,请参见下面的JavaScript代码。
在那里,我将您的值乘以1000,因为JavaScript以毫秒为单位。但是否则,这适用于其他系统。
Your value is a 32-bit Timestamp.
Your datetime value is a 32-bit Unix Timestamp: The number of seconds since 1/1/1970.
See https://unixtime.org/
In most programming languages you can work with the hexadecimal notation directly.
Implementation should not be done by one person alone, since a lot of engineering goes into it. Leap years, even leap seconds, timezones, daylight savings time, UTC... all these things need to be addressed when working with a timestamp.
I have added my rough calculation below as a demonstration. Definitely use an existing package or library to work with timestamps.
See the JavaScript code below for demonstration.
There I multiply your value by 1000 because JavaScript works in Milliseconds. But otherwise this applies the same to other systems.