我有以下日期: 2011-08-12T20:17:46.384Z.这是什么格式的?我正在尝试使用Java 1.4解析它DateFormat.getDateInstance().parse(dateStr)并且我得到了
java.text.ParseException:Unparseable date:"2011-08-12T20:17:46.384Z"
我想我应该使用SimpleDateFormat进行解析,但我必须首先知道格式字符串.到目前为止yyyy-MM-dd,我所拥有的只是,因为我不知道T这个字符串中的含义是什么 - 与时区有关?此日期字符串来自文件CMIS下载历史记录媒体类型lcmis:downloadedOn上显示的标记.
我有一个标准ISO 8601格式的字符串,其中包含从Web服务返回的日期/时间,如下所示:
String dtStart = "2010-10-15T09:27:37Z"
Run Code Online (Sandbox Code Playgroud)
如何将其转换为时间或日期等对象?我最初想要以不同的格式输出它,但是稍后需要用它做其他的东西(也就是说可能以不同的格式使用).
干杯
我正在使用SimpleDateFormat带有Date对象的对象,如下所示.问题在于Date对象显示错误的日期,这与原始字符串相距几分钟.该Date对象似乎以调试器中的总毫秒数存储时间.
关于这个问题的任何想法?
import java.text.SimpleDateFormat;
import java.util.Date;
Date played_at_local;
dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSSSSZ");
played_at_local = dateFormat.parse("2011-04-11T22:27:18.491726-05:00");
//played_at_local shows "Mon Apr 11 22:35:29 America/Chicago 2011" in debugger
Run Code Online (Sandbox Code Playgroud)