以特定格式显示Java.util.Date

bha*_*ya 48 java date

我有以下场景:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(dateFormat.parse("31/05/2011"));
Run Code Online (Sandbox Code Playgroud)

给出一个输出

Tue May 31 00:00:00 SGT 2011
Run Code Online (Sandbox Code Playgroud)

但我想要输出

31/05/2011 
Run Code Online (Sandbox Code Playgroud)

我需要在这里使用解析,因为日期需要按日期排序而不是字符串.

有任何想法吗 ??

Luc*_*sio 69

怎么样:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(dateFormat.format(dateFormat.parse("31/05/2011")));

> 31/05/2011
Run Code Online (Sandbox Code Playgroud)

  • 我不知道为什么这个答案是被接受的.但它没有给出java.uti.Date类型的格式化日期.format()方法返回String. (4认同)
  • @RadhakrishnaGorenta,我不确定你的意思.没有这样的东西"java.uti.Date类型的格式化日期".日期在屏幕上输出或以其他方式序列化之前没有"格式".它们只是物体. (3认同)
  • @Ephemeral你在说什么问题?sql.Date没有任何参考... (2认同)

aio*_*obe 53

您需要通过SimpleDateFormat.format以将日期格式化为字符串.

这是一个来自String- > Date- > 的例子String.

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("31/05/2011");

System.out.println(dateFormat.format(date));   // prints 31/05/2011
//                            ^^^^^^
Run Code Online (Sandbox Code Playgroud)


Bad*_*llz 15

使用SimpleDateFormat.format

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = new Date();
String sDate= sdf.format(date);
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用下面的代码在Java中使用简单的日期格式

SimpleDateFormat simpledatafo = new SimpleDateFormat("dd/MM/yyyy");
Date newDate = new Date();
String expectedDate= simpledatafo.format(newDate);
Run Code Online (Sandbox Code Playgroud)