我试图使用简单的日期格式来格式化当前时间:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date now = new Date(System.currentTimeMillis());
try {
java.util.Date formattedDate = sdf.parse(now.toString());
System.out.println(formattedDate.toString());
} catch (ParseException e) {
e.printStackTrace();
}然而,我得到的输出是:
Fri Oct 18 00:00:00 CDT 2013我正在努力实现:
2013/08/18我做错了什么?
发布于 2013-10-18 13:30:23
您正在解析您的Date,而不是用您的SimpleDateFormat对其进行格式化。Date#toString() 方法有自己的输出格式,则使用SimpleDateFormat。
System.out.println(sdf.format(formattedDate));发布于 2013-10-18 13:30:39
您必须使用SimpleDateFormat#format(日期)方法,它返回以所需方式格式化的日期。注意,此方法是从DateFormat继承的。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date now = new Date(System.currentTimeMillis());
String formattedDate = sdf.format(now);
System.out.println(formattedDate);发布于 2013-10-18 13:33:15
parse试试下面这个简单得多的代码:
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String formattedDate = sdf.format(new Date());
System.out.println(formattedDate);https://stackoverflow.com/questions/19450924
复制相似问题