如何自定义Java日期格式

时间:2009-11-20 01:13:18

标签: java

从java doc中,MEDIUM格式为: MEDIUM更长,例如1952年1月12日

http://java.sun.com/j2se/1.4.2/docs/api/java/text/DateFormat.html

如何自定义它以便我不显示年份?并将“Jan”拼写到1月份?

我自己需要这样做吗? *','后切断字符串 *有一个表格,用于将月份短名称(Jan)映射到其长名称(1月)?

谢谢。

2 个答案:

答案 0 :(得分:11)

使用SimpleDateFormat

// For months like "Jan"
String formatted = new SimpleDateFormat("MMM dd").format(new Date());

// For months like "January"
String formatted = new SimpleDateFormat("MMMMM dd").format(new Date());

答案 1 :(得分:1)

除了可以使用SimpleDateFormat之外,还存在DateTimeFormatter

我认为DateTimeFormatter是更好的选择,因为

  • 它是最近才引入的(Java 8)
  • 这是线程保存的

一个例子:

import java.time.LocalDateTime; 
import java.time.format.DateTimeFormatter;  

public class Time {    
  public static void main(String[] args) {    
   LocalDateTime time = LocalDateTime.now();

   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd. MMM");
   String timeDate = time.format(formatter);
   System.out.println(timeDate);  
  }    
}  

这将产生类似于30. May的输出。

可以在herethere中找到更多信息。