格式日期从“MMM dd,yyyy HH:mm:ss a”到“MM.dd

我想格式化日期从“MMM dd,yyyy HH:mm:ss a”到“MM.dd”。 我有以下代码

SimpleDateFormat ft = new SimpleDateFormat ("MMM dd, yyyy hh:mm:ss a"); t = ft.parse(date); //Date is Sep 16, 2015 10:34:23 AM and of type string. ft.applyPattern("MM.dd"); 

但我在t = ft.parse(date);时遇到exceptiont = ft.parse(date);

请帮忙

三种可能的解释:

  1. 您的默认语言环境与输入日期不兼容 – 例如,它无法将Sep视为月份名称
  2. 输入字符串有问题,或者
  3. t是错误的类型(例如java.sql.Date而不是java.util.Date ,或者一些其他类型),或者没有声明。

您应该在问题中包含exception的详细信息以确定它是什么,但这是一个使用基本上您自己的代码的工作示例,并添加了特定的Locale

 SimpleDateFormat ft = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a", Locale.US); java.util.Date t=ft.parse("Sep 16, 2015 10:34:23 AM"); ft.applyPattern("MM.dd"); System.out.println(ft.format(t)); 

输出:

 09.16 
 SimpleDateFormat sdf = new SimpleDateFormat("MM.dd", Locale.US); System.out.println("Formatted Date: " + sdf.format(date));