我正在使用这个解析日期时间字符串:http://developer.android.com/reference/java/text/SimpleDateFormat.html但不知何故我在解析时遇到运行时错误:https://ideone.com/gpFqwp
有人能指出我的错误吗?
static String date = "2015-09-17T08:22:49Z";
public static DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
public static DateFormat displayDateFormat = DateFormat.getDateTimeInstance();
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(displayDateFormat.format(inputDatetimeFormatter.parse(date)));
}
答案 0 :(得分:0)
将inputDatetimeFormatter
更改为new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
。然后它会正常运行。
编辑:Z
字符串末尾date
的目的是什么?
这只是一封你总想要在那里的信吗?
然后您必须将inputDatetimeFormatter
更改为上述内容。
如果Z
的目的是针对时区,那么您的date
字符串是错误的(不应包含Z
,而是包含时区,例如-0800
)。
然后它会给:
static String date = "2015-09-17T08:22:49-0800"; // Replace -0800 by wanted time zone
public static DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); // Now you can use Z (instead of 'Z') to indicate that the time zone is following
答案 1 :(得分:0)
DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
的javadoc
或使用
DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
的javadoc
这是一个sample