我怎样才能投出日期来自" Thu May 01 00:00:00 WEST 2014"至" 2014-01-05 00:00:00.0"
我尝试使用此代码:
SimpleDateFormat toFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
String dateStr = getDtdebut().toString();
Date date = new Date();
try {
date = toFormat.parse(dateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但我有这个错误:
java.text.ParseException: Unparseable date: "Thu May 01 00:00:00 WEST 2014"
at java.text.DateFormat.parse(Unknown Source)
at ensa.pfe.action.GestionOperations.filtre(GestionOperations.java:386)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
..........
答案 0 :(得分:2)
java.util.Date
只是一个围绕时间戳值的包装类(即自UNIX纪元以来的毫秒数)。此对象绝不会连接到任何特定日期格式甚至日历系统。
您需要的只是格式化日期,而不是使用某个默认格式化程序将其转换为字符串,然后再将其解析回格式化独立对象。使用DateFormat#format
。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
System.out.println(format.format(getDtdebut()));