【发布时间】:2013-02-03 20:47:29
【问题描述】:
如何在 Java 中执行这种转换?
目前,我正在做:
public static String formatDate(String strDateToFormat) {
try {
SimpleDateFormat sdfSource = new SimpleDateFormat("EEEE, MMMM DD, YYYY");
Date date = sdfSource.parse(strDateToFormat);
SimpleDateFormat sdfDestination = new SimpleDateFormat("yyyy-MM-dd");
return sdfDestination.format(date);
} catch (ParseException pe) {
System.err.println("Parse Exception : " + pe);
}
return null;
}
但是,这会导致格式不正确。它给了我以下输出:
Friday, February 1, 2013 > 2013-01-04
Thursday, January 31, 2013 > 2013-01-03
【问题讨论】:
-
为什么要多次重复输出两个值?
-
将“DD”改为“d”,将“YYYY”改为“yyyy”
-
我会将
System.err.println("Parse Exception : " + pe);替换为pe.printStackTrace();。或者,更好的是,从您的方法中抛出该异常。
标签: java date simpledateformat