【发布时间】:2012-02-07 12:15:38
【问题描述】:
我有像“1969 年 12 月 31 日下午 4:00:00”这样的字符串。我想将其转换为日期。我正在使用 SimpleDateFormat。但它给了我一个例外:java.lang.IllegalArgumentException:未知模式字符'Y'。怎么解决??
Date date ;
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-YY HH:mm:ss");
date = (Date)formatter.parse(start);
谢谢。
【问题讨论】:
-
请贴出相关代码
-
发布代码部分,向我们展示您使用的模式
-
当我这样改变它时: SimpleDateFormat formatter = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa");然后我得到 java.text.ParseException: Unparseable date: "Feb 7, 2012 3:10:00 PM"
-
首先,你可能对DateFormat.parse()的使用有一些误解,它是用来将指定模式的String解析成Date类型,即“dd-MMM-YY HH:mm:ss”,所以 parse() 中的字符串应该匹配模式。其次,如果您想以特定格式强制执行日期,则应使用 DateFormat.format() 代替,请参阅下面提供的文档。