Sandip Armalパティル:
私は長い形式でDBに格納するローカル時間と必要性にそれを変換する必要があるので、私は、UTCでサーバーから日時を取得しています。
私は時間を受け取るたびしかし、私はそれを解析し"yyyy-MM-dd'T'HH:mm:ss.SSS"
、その後にそれを変換long
し、テーブルに格納します。しかし、私は常に取得していますフェッチしようとしたとき01 Jan 1970
。
ここに私のコードは次のとおりです。
これは私が、サーバから取得していますする形式です:"tourCreationDateTime":"2020-03-04T07:12:52.215+0000"
。
// insert tour details
Tour tour = new Tour();
if (tourId > 0) {
tour.setId(tourId);
}
tour.setStatus(Constants.TOUR_STATUS_OPEN);
tour.setTourNumber(tourResponseDetails.getTourId());
tour.setCreatedDateTime(DateUtils.getFormattedDate(tourResponseDetails.getTourCreationDateTime(), DateUtils.DATE_FORMAT_DB));
tourDao().insertTour(tour);
ここに私の日付形式は次のとおりです。
public static final String DATE_FORMAT_DB = "yyyy-MM-dd\'T\'HH:mm:ss.SSS";
ここにあるgetFormattedDate
方法は:
public static long getFormattedDate(String dateString, String format){
if(!TextUtils.isEmpty(dateString)){
return 0L;
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format, Locale.US);
Date date = simpleDateFormat.parse(dateString);
return date.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return 0L;
}
私が間違って何が起こっているのかありません。任意の参照は本当に良いだろう。
Kirguduck:
if(!TextUtils.isEmpty(dateString)){
return 0L;
}
そして、0Lは、1970年1月1日で
、ここで間違い- if(!TextUtils.isEmpty(dateString))
。
あなたは確かにそれが含まれている必要があることです!//感嘆符