【发布时间】:2019-10-15 02:11:38
【问题描述】:
很长一段时间以来,我都有一个普遍的疑问。在日期形成过程中,如果输入日期的格式为“2019/05/22 02:00:23”,那么在下面的行的帮助下,我们可以格式化日期,
String inputDate = "2019/05/22 02:00:23";
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date toDate = dateFormatter.parse(inputDate);
我可以看到输入格式和所需的格式是相同的。假设如果我像下面这样更改输入日期,它会显示 java.text.ParseException: Unparseable date: exception。
String inputDate = "31.12.9999";
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
Date toDate = dateFormatter.parse(inputDate);
请建议如何实现。
【问题讨论】:
-
那么您更改了日期的格式而没有更改模式,那么您期望什么?你有没有考虑过尝试
"dd.MM.yyyy"作为模式? -
你想达到什么目的?
31.12.9999是否也与给定的dateFormatter一起解析?请edit您的问题并澄清 -
如何实现什么?
-
不要使用已弃用的类...阅读
java.time包及其类,这将有很大帮助,但如果您尝试解析日期-String,其格式仅为不适合。 -
如果你使用一个处理小时、分钟和秒的模式,然后尝试用它解析一个日期(仅),这个尝试将失败......你必须解析第二个日期 -
String具有仅日期模式,例如"yyyy.MM.dd",not"yyyy.MM.dd HH:mm:ss"。
标签: java datetime-format date-parsing date