尝试尽快将其转换为可读日期格式 并陷入困境:
item.put("date", DateFormat.format("dd/MM/yyyy hh:mm:ssaa", jsonChildNode.optString("date") * 1000L));
Error: Operator '*' cannot be applied to 'java.lang.String', 'long'
答案 0 :(得分:0)
更改了代码:
int date = Integer.valueOf(jsonChildNode.optString("date"));
item.put("date", DateUtils.formatDateTime(HistoryWithdrawal.this, date, DateUtils.FORMAT_SHOW_DATE));
答案 1 :(得分:0)
上面的答案忽略了它是一个Unix时间戳这样的事实,因此它不适合int值。同样来自你的问题,似乎它是以秒为单位的Unix时间戳,而不是Date类接受的毫秒数。
SimpleDateFormat sdf = new SimpleDateFormat ("dd/Mm/yyyy hh:mm:ss aa");
long unixTimeInSeconds = jsonChildNode.getLong("date");
item.put("date",sdf.format(new Date(unixTimeInSeconds * 1000L)));
Log.d("tag",sdf.format(new Date(unixTimeInSeconds * 1000L)));
这里把所有内容放在try catch块中,因为如果时间戳键不存在或者有些数据无法被解析为long,则此代码可以抛出异常