[Java]SimpleDateFormat格式化或者解析带有+08:00/+0800的日期

2022-02-25 142点热度 0人点赞 0条评论

需求说明

需要解析这样的日期(例如微信支付apiV3返回的交易成功日期是类似这样的:2022-02-22T15:50:18+08:00)或者需要格式化成带有时区+8:00这样的日期,可以这样做(格式化字符串是yyyy-MM-dd'T'HH:mm:ssXXX):

System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX").format(new Date()));
Date date =  new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX").parse("2022-02-22T15:50:18+08:00");
System.out.println(date);

+08:00(或者其他时区)在解析或者格式化的时候应该使用XXX来表示;

如果是要解析或者格式化 +0800(中间没有冒号)

System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()));
Date date =  new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse("2022-02-22T15:50:18+0800");
System.out.println(date);

+0800(或者其他时区)在解析或者格式化的时候应该使用Z来表示。

admin

这个人很懒,什么都没留下

文章评论

*

code