如何格式化当前日期并保存到日期对象中
问题描述:
我想获取当前日期并格式化并将其保存到日期对象中。我尝试下面的代码,但得到一个错误,说日期是不可解析的。这是我曾尝试:如何格式化当前日期并保存到日期对象中
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
对象,您不需要将其转换为String
并返回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(); }
'新的Date()'已经表示当前日期。你想做什么 ? – 2013-04-10 14:42:02
至少试着打印'new Date()。toString()'以查看当前的输出格式并了解代码可能失败的原因。另外,你的代码示例根本没有意义(从一个新的Date创建一个新的Date)。 – 2013-04-10 14:44:09
'Date'没有格式:它只是一个时间点,有它自己的内部表示。你可以用特定格式的字符串*表示一个Date。 – 2013-04-10 14:45:40