如何使用SimpleDateFormat格式化今天的日子?

时间:2017-05-22 10:33:20

标签: 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

年月和月份正常,但为什么这一天会像这样来?

5 个答案:

答案 0 :(得分:4)

select MyTable.*, case when a1.mindate = orderdate then 1 else 0 end as NewCol from MyTable inner join ( select id, min(orderdate) as mindate from Mytable group by id ) a1 on a1.id = MyTable.id 是一年中的一天 D是每月一天 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

编辑:同样@JeremyP注意到你可以用d来获取年份'原因 yyyy是周年

答案 1 :(得分:1)

甲骨文:

  

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

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

  • 简单 d 日期 - 月份(10)

  • 资本 D 一年中的日数 - (189)

  • 资本 M 一年中的月份 - 月份(7月; 7月; 07年)

在您的代码中:

SimpleDateFormat("DD/MM/YYYY")

应该是:

SimpleDateFormat("dd/MM/yyyy")

请参阅documentation了解更多信息

答案 2 :(得分:0)

根据javadocs docker stack services -q $stack \ | while read service; do docker service update --force $service done 是一年中的一天,D是一年中的一天。

您需要Y使用d(小写),Day in month使用y(小写)

这个模式应如下所示:

Year

答案 3 :(得分:0)

var obj3d = document.querySelector("#camera").object3D; AFRAME.registerComponent('listener', { tick: function () { if(Math.abs(obj3d.position.x) < 35) { //HERE IT SHOULD EXIT FULL SCREEN IF WE ARE IN FULL SCREEN } } }); 替换为DD,将dd替换为YYYY。 MM是资本,其他是小写。

  

d =月中的某天

     

D =一年中的某一天

     

M =一年中的月份

     

m =分钟

     

y =年

     

Y =周年

yyyy

答案 4 :(得分:0)

您正在使用currentDate,即一年中的某一天,请使用DD,即每月的某一天。