从Date对象中删除时间?
问题内容:
我想从Date
对象中删除时间。
DateFormat df;
String date;
df = new SimpleDateFormat("dd/MM/yyyy");
d = eventList.get(0).getStartDate(); // I'm getting the date using this method
date = df.format(d); // Converting date in "dd/MM/yyyy" format
但是,当我转换此日期(String
格式)时,它也在附加时间。
我根本不想要时间。我想要的只是“ 21/03/2012”。
问题答案:
快速答案是:
不,您不能这样做。 因为那是Date
用来干什么的。
来自的javadoc Date
:
Date类表示特定的时间瞬间,精度为毫秒。
但是 ,由于此类仅是数据对象。它不在乎我们如何描述它。当我们看到日期时2012/01/01 12:05:10.321
,可以说是2012/01/01
,这就是您所需要的。有很多方法可以做到这一点。
示例1:通过操纵字符串
输入字符串:2012/01/20 12:05:10.321
所需的输出字符串:2012/01/20
由于yyyy / MM / dd正是我们所需要的,因此我们可以简单地操作字符串以获取结果。
String input = "2012/01/20 12:05:10.321";
String output = input.substring(0, 10); // Output : 2012/01/20
例子2:通过SimpleDateFormat
输入字符串:2012/01/20 12:05:10.321
所需的输出字符串:2012年1月20日
在这种情况下,我们需要其他格式。
String input = "2012/01/20 12:05:10.321";
DateFormat inputFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
Date date = inputFormatter.parse(input);
DateFormat outputFormatter = new SimpleDateFormat("MM/dd/yyyy");
String output = outputFormatter.format(date); // Output : 01/20/2012
有关其用法SimpleDateFormat
,请检查SimpleDateFormat
JavaDoc
。