我有以下函数来转换日期:
public String dateConvert(String D){ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-DD"); SimpleDateFormat format2 = new SimpleDateFormat("dd-MMMM-yyyy"); Date date = null; try { date = format1.parse(D); } catch (ParseException e) { // Todo Auto-generated catch block e.printstacktrace(); } String dateString = format2.format(date); dateString = dateString.replace("-"," "); System.out.println(dateString); return ((dateString)); }
然而,无论何时,我都会将这个月转换为1月.我不明白我哪里错了!
解决方法
大写字母D是一年中的某一天,而不是该月的某一天.
如果你采取一个月中的任何一天(1-31)并将其视为一年中的某一天,它将在一月份.
使用小写d表示format1.