解析日期总是返回 1970 年 1 月 1 日

Parsing date always returning 01 Jan 1970

我正在从服务器获取 UTC 日期时间,因此我需要将其转换为本地时间并需要以长格式存储在数据库中。

但每当我收到时间时,我都会在 "yyyy-MM-dd'T'HH:mm:ss.SSS" 中解析它,然后将其转换为 long 并存储在 table 中。但是当我尝试获取时,我总是得到 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;
}

我不知道出了什么问题。任何参考都会非常好。

if(!TextUtils.isEmpty(dateString)){
    return 0L;
} 

0L 是 1970 年 1 月 1 日。
这里的错误 - if(!TextUtils.isEmpty(dateString)).
你确定它应该包含 !//感叹号