繁体   English   中英

Java示例将FlashAir十进制16位整数转换为日期/时间格式?

[英]Java example to convert FlashAir decimal 16-bit integer to date/time format?

如下所述,使用其命令cgi从FlashAir 2nd gen检索文件列表: FlashAir获取列表CGI命令我获取十进制16位整数来表示文件的日期和时间。

规范(在发布的链接中)说明了如何理解检索到的值,但是缺少Java示例。 我尝试下载并检查发布在FlashAir开发人员的网站FlashAir教程(适用于Android)中的Android示例代码-下载内容 ,但它们仅使用文件名,因此不执行任何转换。

只需提取指定的位。

假设您short time short date

int seconds = (time & 31) * 2;
int minutes = (time >> 5) & 63;
int hours   = (time >> 11) & 31;
int day   = date & 31;
int month = (date >> 5) & 15;
int year  = ((data >> 9) & 127) + 1980;

然后,只用做一个日期时间。

尚不清楚原始年份是否可以为负数。 我写的是这样,如果不能,它们应该不能为负(代表1980年之前的日期),只需删除& 127

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM