Java 格式日期从";年月日,yyyy HH:mm:ss a“;至;年月日

Java 格式日期从";年月日,yyyy HH:mm:ss a“;至;年月日,java,datetime,Java,Datetime,我想将日期从“mm 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)处遇到异常 请

我想将日期从“mm 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)处遇到异常


请提供三种可能的解释:

SimpleDateFormat sdf = new SimpleDateFormat("MM.dd", Locale.US);
System.out.println("Formatted Date: " + sdf.format(date));
  • 您的默认区域设置与输入日期不兼容-例如,它无法将
    Sep
    理解为月份名称
  • 输入字符串有问题,或者
  • t
    是错误的类型(例如,
    java.sql.Date
    而不是
    java.util.Date
    ,或者是其他类型),或者没有声明
  • 您应该在问题中包含异常的详细信息,以确定它是哪一个,但这里有一个工作示例,基本上使用您自己的代码,并添加了特定的
    区域设置

    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
    

    这是Java还是JavaScript?在我看来,这不像JavaScript——这看起来像Java。你在什么地方?您尚未在
    SimpleDateFormat
    构造函数中指定它,因此它将使用默认区域设置-请尝试指定
    locale.US
    …为什么需要使用SimpleDateFormat?你不能简单地使用t.getFullYear()+“+t.getDay()”吗?因为你已经有了日期对象。编译和运行对我来说很好。您确定字符串中没有任何其他crud吗?使用javascript您可以遵循此链接,您的目标是什么?问题是关于解析异常,但问题的目标是将“mmmdd,yyyy HH:mm:ss a”转换为“mm.dd”。好的,这是第二阶段;)使用你的代码会给我无法解析的日期exception@Nishant听起来像是一个地区问题-试试我更新的代码它确实是一个地区问题。谢谢