String selectedDate = "2012-" + createdMonth + "-" + createdDay;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
createdDate = dateFormat.parse(selectedDate);
} catch (ParseException e1) {
e1.printStackTrace();
}
System.out.println(createdDate);
基本上当我打印createdDate时,它会显示如下内容: Thu Mar 08 00:00:00 CST 2012
而不是这种格式的东西“yyyy-MM-dd”。非常感谢!
答案 0 :(得分:2)
parse
方法返回java.util.Date
,这就是Date
toString()
实现返回的内容。
答案 1 :(得分:1)
您需要打印如下。重点是你需要使用你在打印时创建的格式化程序对象。
System.out.println(dateFormat.format(createdDate));
答案 2 :(得分:1)
使用dateFormat.format(createdDate)
答案 3 :(得分:1)
您似乎认为createdDate
是一个Date
对象,其格式为yyyy-MM-dd
。它没有。 Date
个对象没有格式 - 它们只包含一个时间戳,就像数字只是数字一样,它们本身没有格式。
SimpleDateFormat
对象用于将String
解析为Date
对象,或将Date
对象格式化为String
。
如果您有一个Date
对象,并且希望以特定格式显示日期,请使用String
对象将其转换为具有相应格式的SimpleDateFormat
:
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String text = fmt.format(createdDate);
System.out.println("Created: " + text);
如果您打印Date
对象而未明确格式化,则会使用默认格式对其进行格式化,这就是您看到Thu Mar 08 00:00:00 CST 2012
的原因。
Date
对象不会以某种方式记住您解析它的String
格式。