我有一个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数据库的日期。
答案 0 :(得分:2)
小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;
}
应该解决你的问题:)
答案 1 :(得分:1)
mm takes minute
。
如果您想要月份,请使用MM
。
所以而不是DateFormat df = new SimpleDateFormat("dd-mm-yyyy");
使用:DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
请参阅有关日期格式的this文档。
答案 2 :(得分:1)
尝试
DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
而不是
DateFormat df = new SimpleDateFormat("dd-mm-yyyy");
它应该解决
答案 3 :(得分:0)
使用" dd-MM-yyyy"而不是" dd-mm-yyyy"。模式" mm"代表分钟而不是月份。