java.text.ParseException:无法解析的日期:将 mm/dd/yyyy 字符串转换为日期

新手上路,请多包涵

当我将 mm/dd/yyyy 格式的字符串对象转换为 Date 它给了我

java.text.ParseException: Unparseable date: "09/17/2014"

我正在尝试这样做:

 String date= "09/17/2014";
DateFormat df = new SimpleDateFormat();
Date journeyDate= (java.sql.Date) df.parse(date);

原文由 Subham Tripathi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 698
2 个回答

这里有几个潜在的问题:

  • 您没有指定格式
  • 您没有指定语言环境
  • 您没有指定时区
  • 您正在尝试将返回值(将是 java.util.Date 引用)转换为 java.sql.Date - 这会失败

你想要这样的东西:

 DateFormat df = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
df.setTimeZone(...); // Whatever time zone you want to use
Date journeyDate = new java.sql.Date(df.parse(text).getTime());

原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 3.0 许可协议

DateFormat df = new SimpleDateFormat("MM/dd/yyyy",Locale.ENGLISH);
Date journeyDate = df.parse(date); // gives you java.util.Date

如果你想要 java.sql.Date 那么

java.sql.Date sqlDate = new java.sql.Date(journeyDate.getTime());

原文由 SparkOn 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题