Date 解码时间和日期格式
我相机上的奥林巴斯网络服务器返回我无法解码为人类可读格式的日期 我有两个价值观可以合作Date 解码时间和日期格式,date,datetime,Date,Datetime,我相机上的奥林巴斯网络服务器返回我无法解码为人类可读格式的日期 我有两个价值观可以合作 17822应该是2014年12月30日 17953应为2015年1月1日(dd-mm-yyyy) 17954应该是2015年1月2日 所以我假设这只是xxx之后的天数,结果是1965年11月5日,所以我猜这是错的 时间也是一个整数值 38405是18:48 27032是13:12 27138是13:16 正确的值为UTC+1 也许有人知道如何解码这两种格式。它们是DOS时间戳 dos时间戳是一种位域格
- 17822应该是2014年12月30日
- 17953应为2015年1月1日(dd-mm-yyyy)
- 17954应该是2015年1月2日
- 38405是18:48
- 27032是13:12
- 27138是13:16
也许有人知道如何解码这两种格式。它们是DOS时间戳 dos时间戳是一种位域格式,其中日期和时间部分编码为数字中的相邻位,下面是一些示例
number hex binary
17822 0x459E = 0010 0101 1001 1110
YYYY YYYM MMMD DDDD
Y=001 0010 = 34 ( add 1980 to get 2014)
M=1100 = 12
D=1 1110 = 30
17953 0x4621 = 0010 0110 0010 0001
Y=001 0011 = 35 (2015)
M=0001 = 1
D=0 0001 = 1
17954 0x4622 = 0010 0110 0010 0010
Y=001 0011 = 35 (2015)
M=0001 = 1
D=0 0010 = 2
时间也差不多
38405 = 0x9605 = 1001 0110 0000 0101
HHHH HMMM MMMS SSSS
H= 1 0010 = 18
M=11 0000 = 48
S= 0 0101 = 5 (double it to get 10)
它们是DOS时间戳 dos时间戳是一种位域格式,其中日期和时间部分编码为数字中的相邻位,下面是一些示例
number hex binary
17822 0x459E = 0010 0101 1001 1110
YYYY YYYM MMMD DDDD
Y=001 0010 = 34 ( add 1980 to get 2014)
M=1100 = 12
D=1 1110 = 30
17953 0x4621 = 0010 0110 0010 0001
Y=001 0011 = 35 (2015)
M=0001 = 1
D=0 0001 = 1
17954 0x4622 = 0010 0110 0010 0010
Y=001 0011 = 35 (2015)
M=0001 = 1
D=0 0010 = 2
时间也差不多
38405 = 0x9605 = 1001 0110 0000 0101
HHHH HMMM MMMS SSSS
H= 1 0010 = 18
M=11 0000 = 48
S= 0 0101 = 5 (double it to get 10)
现在@Jasen已经找到了答案,你想用某种语言实现吗?@Jasen:谢谢,我想就是这个了。至少我把日期转换了。当一切正常时,我将更新我的帖子。@Spacedman:根据EXIF标准文档,日期时间存储为ASCII格式(已经是人类可读的)。UTC+1无效dos时间戳不响应时区,它们只存储本地时间。因为它;除了EXIF数据之外,还有一个web服务器。HTTP头中也有一个时间戳。现在@Jasen已经知道了,你想用某种语言实现吗?@Jasen:谢谢,我相信就是这个。至少我把日期转换了。当一切正常时,我将更新我的帖子。@Spacedman:根据EXIF标准文档,日期时间存储为ASCII格式(已经是人类可读的)。UTC+1无效dos时间戳不响应时区,它们只存储本地时间。因为它;除了EXIF数据之外,HTTP头中还有一个时间戳。“两秒对每个人都足够精确”这里的PHP实现:-显然zip存档文件使用这种编码…“两秒对每个人都足够精确”这里的PHP实现:-显然zip存档文件使用这种编码。。。