我有一个android活动,它为线程ID加载每条消息,然后按日期排序显示它,我没有任何问题,在尝试添加mms之前,mms日期似乎不是与短信日期相同,我实际上是在手机上使用android 7进行测试,并且我希望自android 5起可以使用它
我已经尝试过:date = date * 1000;
我的约会很愉快,cursor.getLong(2);
这里是所有带彩信的查询
String selectionPart = "mid=" + mms.getString(mms.getColumnIndex("_id"));
Uri uri = Uri.parse("content://mms/part");
Cursor cursor = getContentResolver().query(uri, null,
selectionPart, null, null);
if(cursor.moveToFirst()) {
do {
String type = cursor.getString(cursor.getColumnIndex("ct"));
if ("text/plain".equals(type)) {
String body;
String data = cursor.getString(cursor.getColumnIndex("_data"));
if (data != null) {
body = getMmsText(cursor.getString(cursor.getColumnIndex("_id")));
} else {
body = cursor.getString(cursor.getColumnIndex("text"));
}
long date = mms.getLong(2) * 1000L;
messages.add(new Message(body, new Date(date), number, true, image, name));
Log.d("datesss", String.valueOf(date));
}
} while(cursor.moveToNext());
}
我希望到目前为止看起来一样,但是实际上,我的短信日期看起来像1568780915460
,而如果我使用* 1000,则短信日期看起来像1571992156
或1571992156000
时是彩信。
答案 0 :(得分:1)
将Instant用于不同的转换方法
Instant instant1 = Instant.ofEpochSecond(1571992156);
System.out.println(instant1);
Instant instant2 = Instant.ofEpochMilli(1571992156000L);
System.out.println(instant2);
这将打印
2019-10-25T08:29:16Z
2019-10-25T08:29:16Z
如果您想将即时转换为日期类型,例如可以
LocalDateTime dateTime1 = LocalDateTime.ofInstant(instant1, ZoneOffset.UTC);
Date date1 = Date.from(instant1);