DateFormat没有以所需格式给出日期

时间:2013-03-25 06:32:40

标签: java date-format

我希望以下列格式获取当前日期 yyyy_mm_dd

使用以下代码

DateFormat date = new SimpleDateFormat("yyyy_mm_dd");
Date datetoday = new Date();
System.out.println(date.format(datetoday));

但它以这种方式给出结果 - 2013_56_25

但是,它应该提供 2013_03_25

等结果

事实上, mm 值每次运行时都会有所不同。 我的系统日期格式为 - 3/25/2013。 (如果它与此有某种关系,请点击)

这有什么问题?

5 个答案:

答案 0 :(得分:13)

使用大写MM,小写mm是分钟。

DateFormat date = new SimpleDateFormat("yyyy_MM_dd");

答案 1 :(得分:7)

月份是M,而不是m(分钟)

答案 2 :(得分:7)

使用 MM 代替 mm ;小写是为了薄荷;月份大写

答案 3 :(得分:3)

你必须使用MM而不是mm。请参考下图中的表格

enter image description here

答案 4 :(得分:0)

在将java.util.Date解析为java.sql.Date之后,我得到了不同的结果 String date =“2012-05-02”;

SimpleDateFormat df = new SimpleDateFormat(“yyyy-mm-dd”);

我得到的结果是:2012-01-01

表示1天比实际需要的少。