Java 今天如何格式化';今天是SimpleDateFormat吗?

Java 今天如何格式化';今天是SimpleDateFormat吗?,java,date,datetime,simpledateformat,Java,Date,Datetime,Simpledateformat,嗨,我试图得到今天的日期,但没有得到正确的输出 import java.text.DateFormat; import java.text.SimpleDateFormat; private static final DateFormat sdf = new SimpleDateFormat("DD/MM/YYYY"); System.out.println("TODAY :" + sdf.format(new Date())); 输出 TODAY :142/05/2017 年复一年,

嗨,我试图得到今天的日期,但没有得到正确的输出

import java.text.DateFormat;
import java.text.SimpleDateFormat;

private static final DateFormat sdf = new SimpleDateFormat("DD/MM/YYYY");
System.out.println("TODAY  :" + sdf.format(new Date()));
输出

TODAY  :142/05/2017

年复一年,月份恰到好处,但为什么这一天是这样来的呢
d
是一个月中的一天

编辑:正如@JeremyP注意到的,您可以使用
yyy
来获取年份原因
Y
是根据
D
表示一年中的一天,
Y
表示一年中的一周

您需要使用
d
(小写)表示月份的
y
(小写)表示年份

此模式应如下所示:

 DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

DD
替换为
DD
并将
YYYY
替换为
yyy
。MM用大写字母表示,其他字母用小写字母表示

d=月日

D=一年中的某一天

M=年中的月份

m=以小时为单位的分钟

y=年

Y=周年

甲骨文:

SimpleDataFormat是一个用于格式化和解析日期的具体类 以对区域设置敏感的方式。它允许格式化(日期->文本), 解析(文本->日期)和规范化

  • 简单yYear-Year(1996;96)
  • 资本Y周-年(2009;09)

  • 简单d月天数-数字(10)

  • 资本D年内天数-数字(189)

  • 资本M年内月份-月(2007年7月;7月)

在代码中:

SimpleDateFormat(“DD/MM/YYYY”)

应该是:

SimpleDateFormat(“dd/MM/yyyy”)


参考更多信息

这是
dd/MM/yyyy
dd是一年中的一天:看到这个你肯定会得到答案,我肯定这个问题是重复的。我不认为前面评论中的链接是最好的,但我自己还没有找到更好的链接,所以请检查一下。虽然这里给出的答案是正确的,但更好的格式化今天日期的方法是使用JSR-310:
LocalDate.now().format(DateTimeFormatter.ofPattern)中描述的更新且更为程序员友好的类(“dd/MM/yyyy”)
。也应该是小写的
yyyy
,非常感谢,它解决了我的问题。不客气,如果你在我的答案中得到了什么,我会很高兴。
private static final DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
System.out.println("TODAY  :" + sdf.format(new Date()));