【发布时间】:2018-05-18 06:39:09
【问题描述】:
我想将 mm/dd/yy 格式的字符串值转换为 YYYY-MM-DD 日期。如何进行这种转换?
输入参数为:03/01/18
下面给出了将字符串转换为日期的代码
public static Date stringToDateLinen(String dateVlaue) {
Date date = null;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
date = formatter.parse(dateVlaue);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
当尝试使用此方法进行转换时,它会显示以下错误
java.text.ParseException: Unparseable date: "03/01/18"
【问题讨论】:
-
只需检查您输入的日期和您使用的日期格式,它们是否匹配?自己尝试,不要寻找答案
-
我们很清楚,
Date没有格式的概念,它只是 Unix 纪元以来毫秒数的容器。为了克服您的“错误”,解析的格式需要与输入相同 -
我建议你避免使用
SimpleDateFormat类。它不仅过时了,而且出了名的麻烦。今天我们在java.time, the modern Java date and time API 的表现要好得多。 -
作为 Ole V.V.评论说,麻烦的旧日期时间类,如
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat现在是 legacy,被 Java 8 及更高版本中内置的 java.time 类所取代。见Tutorial by Oracle。
标签: java