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

时间:2015-09-16 15:39:11

标签: 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"); 

但我在t = ft.parse(date);

时遇到异常

请帮忙

2 个答案:

答案 0 :(得分:9)

三种可能的解释:

  1. 您的默认语言区域与输入日期不兼容 - 例如它不能将Sep理解为月份名称
  2. 输入字符串有问题,或者
  3. t类型错误(例如java.sql.Date而不是java.util.Date,或者其他类型,或者未声明。
  4. 您应该在问题中包含异常的详细信息,以确定它是什么,但这是一个基本上使用您自己的代码的工作示例,并添加了特定的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
    

答案 1 :(得分:1)

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