我想获取当前日期并将其格式化并将其保存到日期对象中。我尝试以下代码,但收到一条错误消息,指出日期不可解析。这是我尝试过的:
SimpleDateFormat f = new SimpleDateFormat("d/M/yyyy");
Date date = f.parse(new Date().toString());
我需要将实际日期保留为日期对象,因为稍后其他一些代码将需要它
使用您定义的格式时,您需要将String
值传递给parse
遵循该模式且new Date().toString()
绝对不遵循该dd/MM/yyyy
模式的方法。
此外,new Date()
已经是一个Date
对象,您不需要将其转换为 aString
并返回 a Date
。
我需要将实际日期保留为日期对象
似乎您只想要new Date()
对象的日期部分而不是时间部分。知道了这一点,你有两条路可以走:
使用纯 Java。您将需要一个日历对象:
public Date getCurrentDate() {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTES, 0);
c.set(Calendar.SECONDS, 0);
c.set(Calendar.MILLISECONDS, 0);
return c.getTime();
}
使用像Joda Time这样可以轻松处理日期和时间的外部库:
public Date getCurrentDate() {
return new LocalDate().toDate();
}