【问题标题】:Java Formatting DateJava 格式化日期
【发布时间】:2013-05-07 17:03:23
【问题描述】:

我正在尝试获取当前日期并对其进行格式化,但是我得到了一个无效的月份 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

【问题讨论】:

  • 59没有送人吗?
  • 大声笑是的,我决定在我发布问题后更改它现在来了,看到它真的是这样。谢谢
  • 嗯,给大家点赞吧:)
  • 所以让我等待哈哈,我会尽快接受一个

标签: java date simpledateformat


【解决方案1】:

您使用了mm,表示分钟。请改用大写字母MM

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

【讨论】:

    【解决方案2】:

    您需要一个月的"MM""mm" 是几分钟。

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

    【讨论】:

      【解决方案3】:

      您需要使用大写字母MM 而不是mm。小写“mm”表示分钟,而不是月份。

      所以,你的代码是:

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

      【讨论】:

        【解决方案4】:

        月份由MM 检索,而不是mm

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

        参考SimpleDateFormatJavaDoc:

        一年中的 M 个月

        【讨论】:

          【解决方案5】:
          DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          Calendar cal = Calendar.getInstance();
          String dt = dateFormat.format(cal.getTime());
          

          使用 MM 代替 mm。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-12-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多