yyyy-MM-dd'T'HH:mm:ss和yyyy-MM-dd'T'HH:mm:ssXXX之间的日期格式差异 [英] Date formats difference between yyyy-MM-dd'T'HH:mm:ss and yyyy-MM-dd'T'HH:mm:ssXXX

查看:1555
本文介绍了yyyy-MM-dd'T'HH:mm:ss和yyyy-MM-dd'T'HH:mm:ssXXX之间的日期格式差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用以下两种格式解析日期 2014-12-03T10:05:59.5646 + 08:00

I am trying to parse a date 2014-12-03T10:05:59.5646+08:00 using these two formats:


  • yyyy-MM-dd'T'HH:mm:ss

  • yyyy-MM-dd'T'HH:mm:ssXXX

  • yyyy-MM-dd'T'HH:mm:ss
  • yyyy-MM-dd'T'HH:mm:ssXXX

何时我使用 yyyy-MM-dd'T'HH:mm:ss 进行解析,效果很好,但是当我解析 yyyy-MM-dd'T 'HH:mm:ssXXX 抛出 ParseException

When I parse using yyyy-MM-dd'T'HH:mm:ss it works fine, but when I parse yyyy-MM-dd'T'HH:mm:ssXXX a ParseException is thrown.

哪个是正确的格式来解析日期,以及这两种格式之间到底有什么区别?

Which is the correct format to parse the date and also what exactly is the difference between these two formats?

注意:我无法使用Joda:(

Note : I cannot use Joda :(

推荐答案

使用此格式 yyyy-MM-dd'T'HH:mm:ss.SSSSX

来自 SimpleDateFormat API

From SimpleDateFormat API

//Letter    Date or Time Component  Presentation        Example
  S         Millisecond             Number              978
  X         Time zone               ISO 8601 time zone  -08; -0800; -08:00

使用情况:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSX");
String date = "2014-12-03T10:05:59.5646+08:00";
System.out.println(format.parse(date));

输出:

Wed Dec 03 03:06:04 CET 2014

这篇关于yyyy-MM-dd'T'HH:mm:ss和yyyy-MM-dd'T'HH:mm:ssXXX之间的日期格式差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆