有人可以告诉我为什么我会得到java.text.ParseException: Unparseable date以下代码:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class Testdate {
public static void main(String args[])
{
String text = "2011-11-19T00:00:00.000-05:00";
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
try {
Date parsed = sdf.parse(text.trim());
System.out.println(parsed);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它是因为你时区的冒号.删除它,它将工作:
String text = "2011-11-19T00:00:00.000-0500";
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Run Code Online (Sandbox Code Playgroud)
因为模式支持的Z部分SimpleDateFormat不处理冒号的偏移.
我建议你改用Joda Time,ISODateFormat.dateTime()用来获得合适的格式化程序.
(请参阅今天早些时候的相似但不完全相同的问题以获取更多信息.)
| 归档时间: |
|
| 查看次数: |
36000 次 |
| 最近记录: |