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

Nis*_*ant 6 java datetime

我想格式化日期从"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"); 
Run Code Online (Sandbox Code Playgroud)

但是我得到了例外 t = ft.parse(date);

请帮忙

Cup*_*Tae 10

三种可能的解释:

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

您应该在问题中包含异常的详细信息以确定它是什么,但这是一个使用基本上您自己的代码的工作示例,并添加了特定的代码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));
Run Code Online (Sandbox Code Playgroud)

输出:

09.16
Run Code Online (Sandbox Code Playgroud)