java中用SimpleDateFormat 怎么把 2015-04-20T11:12:00.0+08:00 解析成 Date

2024-11-29 22:18:25
推荐回答(4个)
回答1:

你这个不是一个标准的日期格式
你这个应该是
年月日 T 这个T不知道是什么
时分秒毫秒
时区,但是这个时区也不对
2015-04-2011:12:00.0GMT+08:00
z对应的时区为 GMT+08:00
Z对应的时区为 +0800

回答2:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = formatter.parse("2018-11-07T18:37:42.803+08:00");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sDate=sdf.format(date);
System.out.println(sDate);

回答3:

SSSZ改为SSSXXX

回答4:

String timeStr = "2017-02-23T00:00:00.0+08:00";

SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
try {
Date date = formatter.parse(timeStr);
System.out.println("转换为日期"+date);
System.out.println("转换为日期获取时间戳"+date.getTime());
System.out.println("转换为日期获取时间戳减两小时"+(date.getTime()-7200000));
System.out.println("转换为日期获取时间戳减两小时的日期格式"+new Date(date.getTime()-7200000));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}