【问题标题】:How to get Formated date?如何获取格式化日期?
【发布时间】:2014-09-29 10:16:39
【问题描述】:

我有一个 bean,因为我有一个日期类型的属性。

private Date insurance_date;
public Date getInsurance_date() {
    return insurance_date;
}
public void setInsurance_date(Date insurance_date) {
    this.insurance_date = insurance_date;
}

但是 get 方法给了我们一个带时间的日期,所以我写了一个格式化的方法,

public String getFormatedDoI() {
        DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
        String stirngDate = null ;

        if(insurance_date != null)
            stirngDate = df.format((insurance_date));               
        return stirngDate;
    }

但问题是我在 db 中有日期为 2014-05-21 ,当我使用 getFormatedDoI() 方法时,它会打印 21-00-2014。事实上,对于所有代替月份的日期,它都会显示0。我怎样才能得到准确的格式化日期。?我使用的数据库是mysql。来自 MYSQL 数据库的日期。

【问题讨论】:

    标签: java mysql date javabeans


    【解决方案1】:

    小 mm 代表分钟,大写 MM 代表月份编号,如果您想获取月份名称,可以使用 MMM,在您的情况下使用“dd-MM-yyy”而不是“dd-mm-yyyy”。

    public String getFormatedDoI() {
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
            String stirngDate = null ;
    
            if(insurance_date != null)
                stirngDate = df.format((insurance_date));
    
            return stirngDate;
        }
    

    应该可以解决你的问题:)

    【讨论】:

      【解决方案2】:

      mm takes minute.

      如果您想要月份,请使用MM

      所以而不是DateFormat df = new SimpleDateFormat("dd-mm-yyyy");

      使用:DateFormat df = new SimpleDateFormat("dd-MM-yyyy");

      请参阅this 有关日期格式的文档。

      【讨论】:

        【解决方案3】:

        试试

        DateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
        

        而不是

        DateFormat df = new SimpleDateFormat("dd-mm-yyyy");
        

        应该可以解决

        【讨论】:

          【解决方案4】:

          使用“dd-MM-yyyy”而不是“dd-mm-yyyy”。模式“mm”代表分钟而不是月份。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-03-02
            • 2018-03-13
            • 1970-01-01
            • 2019-11-18
            • 1970-01-01
            • 2016-02-24
            • 2011-10-06
            • 1970-01-01
            相关资源
            最近更新 更多