我有一个从我的iCloud帐户中检索到的.db文件。我试图从其中一个表解析日期字段。我在Java中这样做。我不太确定它是如何存储的,因为它似乎只是一个数字。
我正在取这个值并将其解析为一个long,它传递给java中的Date对象。但是,似乎总是在1970年1月的某个时候。
为日期存储的值:356898417在给我调用Date.toString
时给了我1970-01-04答案 0 :(得分:1)
默认日期构造函数接受一个参数,该参数等于自1970年1月1日午夜以来经过的毫秒数。
Date(long millisec)
提供存储在iCloud中的实际日期时间更具体。
答案 1 :(得分:0)
如果以秒为单位给出该数值,则需要将其乘以1000以使其达到毫秒。
例如:
String dateAsText = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new Date(356898417 * 1000L));
答案 2 :(得分:0)
我明白了。它们存储在Mac
绝对时间(seconds)
long valueStoredInIphone = (something);
long millis = (valueStoredInIPhone * 1000) + 978307200000L;
Date dateSent = new Date(millis);
http://linuxsleuthing.blogspot.com/2012/10/whos-texting-ios6-smsdb.html