Java 格式日期从";年月日,yyyy HH:mm:ss a“;至;年月日
我想将日期从“mm dd,yyyy HH:mm:ss a”格式化为“mm.dd”。 我有以下代码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)处遇到异常 请
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听起来像是一个地区问题-试试我更新的代码它确实是一个地区问题。谢谢