Java格式化日期

时间:2013-05-07 17:03:23

标签: java date simpledateformat

我正在尝试获取当前日期并格式化它但是我得到的无效月份为59.下面是代码

代码

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

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

String formatDate = df.format(todayDate);

产出是2013-59-07

5 个答案:

答案 0 :(得分:4)

您使用了mm,这意味着分钟。改为使用大写MM

您可以在SimpleDateFormat Javadoc page上找到所有日期和时间模式符号。

答案 1 :(得分:2)

您需要使用大写MM而不是mm。小写'mm'表示分钟,而不是几个月。

所以,你的代码是:

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

答案 2 :(得分:2)

您需要"MM"个月。 "mm"只需几分钟。

请参阅http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

答案 3 :(得分:1)

月份由MM检索,而不是mm

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

请参阅SimpleDateFormat JavaDoc:

  

M月份

答案 4 :(得分:0)

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String dt = dateFormat.format(cal.getTime());

使用MM而不是mm。