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 许可协议

阅读 580
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题