嗨雖然上面的回答是正確的,但作爲替代這一點,你可以用下面的方法
第一提取使用下面的方法將JSON長日期時間。
String JsonDate = jsonGroup.getString("Date");
int idx1 = JsonDate.indexOf("(");
int idx2 = JsonDate.indexOf("+");
if (idx1 > 0 && idx1 < idx2 && idx2 < JsonDate.length()) {
String s = JsonDate.substring(idx1 + 1, idx2);
}
一旦你的日期,你可以將龍迄今
if (!s.equalsIgnoreCase("null")) {
Long date1 = Long.parseLong(s);
Date dt1 = new Date(date1);
holder.TxtPunchoutDate.setText(getDateCurrentTimeZone(dt1));
}
和設定的起始日期爲UTC然後將其轉換回當地時間如下
public static String getDateCurrentTimeZone(Date dt) {
try {
//Convert DATE to UTC DATETIME
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
"MMM dd yyyy hh:mm:ss aa ");
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
//simpleDateFormat.setTimeZone(TimeZone.getDefault());
//Convert to LocalDATE from UTC
Date fromGmt = new Date(dt.getTime() + TimeZone.getDefault().getOffset(dt.getTime()));
return new SimpleDateFormat("MMM dd yyyy hh:mm:ss aa").format(fromGmt).toString();
} catch (Exception e) {
}
return "";
}
如前所述,這是一種替代方案,而不是一種正確的方法。雖然如果有人想重構這個,請大家都歡迎。
感謝
但是做這些stribg值的含義。他們的相應日期是什麼? – Raedwald