如何格式化当前日期并保存到日期对象中

时间:2013-04-10 14:40:00

标签: java parsing date

我想获取当前日期并对其进行格式化并将其保存到日期对象中。我尝试以下代码,但得到一个错误,说日期是不可解析的。这是我尝试过的:

SimpleDateFormat f = new SimpleDateFormat("d/M/yyyy");
Date date = f.parse(new Date().toString());

我需要将实际日期保留为日期对象,因为稍后将在

中使用其他代码

3 个答案:

答案 0 :(得分:2)

使用您定义的格式时,您需要将String值传递给遵循该模式的parse方法,而new Date().toString()肯定不会跟随dd/MM/yyyy模式。

此外,new Date()已经是Date个对象,您无需将其转换为String并返回Date

答案 1 :(得分:1)

根据Date class' Javadoc默认toString()方法始终返回格式

  

dow mon dd hh:mm:ss zzz yyyy

这不是您在解析器中定义的那个。

答案 2 :(得分:0)

  

我需要将实际日期保留为日期对象

好像你只想要Date部分而不是new Date()对象的Time部分。知道这一点,你有两条路可走:

  1. 使用普通Java。您将需要一个Calendar对象:

    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();
    }
    
  2. 使用处理日期和时间的外部库很容易像Joda Time

    public Date getCurrentDate() {
        return new LocalDate().toDate();
    }