java DateFormat不工作?
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时,它会显示如下内容: 2012年3月8日星期四00:00:00中央标准时间
而不是这种格式的“yyyy-MM-dd”。非常感谢
# 1 楼答案
你需要打印如下。重点是,您还需要使用打印时创建的格式化程序对象
# 2 楼答案
使用
dateFormat.format(createdDate)
# 3 楼答案
您似乎认为
createdDate
是一个Date
对象,其格式为yyyy-MM-dd
。它没有。Date
对象没有格式——它们只包含一个时间戳,就像数字只是数字一样,它们本身没有格式SimpleDateFormat
对象用于将String
解析为Date
对象,或将Date
对象格式化为String
如果您有一个
Date
对象,并且希望以特定格式显示日期,则使用SimpleDateFormat
对象将其转换为具有适当格式的String
:如果打印
Date
对象而不显式格式化,它将使用默认格式格式化,这就是为什么会看到Thu Mar 08 00:00:00 CST 2012
一个
Date
对象不知何故不记得你解析它的String
的格式# 4 楼答案
parse
方法返回一个java.util.Date
,这就是toString()
的Date
实现返回的结果