没有时区的Java String to Date

时间:2018-05-08 10:35:55

标签: java date simpledateformat

我的日期类似于字符串200901

在Android设备上,我将其转换为日期:

private static final SimpleDateFormat CARD_DATE_FORMAT = new SimpleDateFormat("yyMMdd", Locale.getDefault());
 public static Date toCardDateFormat(String date) {
        try {
            return CARD_DATE_FORMAT.parse(date);
        } catch (ParseException e) {
            return null;
        }
    }

我得到约会:Tue Sep 01 00:00:00 GMT+07:00 2020

之后我将这个日期传递给spring控制器,在控制器方法中,我的日期如下:Mon Aug 31 20:00:00 GMT+03:00 2020

1 个答案:

答案 0 :(得分:0)

您正在解析默认时区中的日期,这取决于为设备配置的时区,但它似乎是GMT+7

看起来运行Spring的服务器位于GMT+3时区,当它在默认时区中打印日期时,它的用途是什么

2020-09-01T00:00:00+07:002020-08-31T20:00:00+03:00代表的实际时刻相同。

此整个查询是两台不同的计算机将同一时刻打印为在<​​em>本地时区格式化的日期的结果。