首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将FlashAir十进制16位整数转换为日期/时间格式的Java示例?

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

Stack Overflow用户
提问于 2016-02-06 16:35:49
回答 1查看 412关注 0票数 0

在从FlashAir第2代检索文件列表时,使用他们的命令cgi,如这里所解释的:FlashAir Get列表CGI命令,我得到了十进制16位整数来表示文件的日期和时间。

规范(在发布的链接中)解释了如何理解检索到的值,但缺少Java示例。我试着下载和检查发布在FlashAir开发者网站安卓FlashAir教程-下载内容上的Android示例代码,但是他们只是使用文件名,所以它们不执行任何转换。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-06 16:48:27

只要按指定的方式提取位。

假设你有一个short timeshort date

代码语言:javascript
复制
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即可。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35243466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档