java.text.ParseException: Unparseable date

周靖峰 2017-08-21 09:48:59

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatTest {
public static void main(String[] args) throws Exception {
String str = "8/16/2017 5:00:00 PM";
SimpleDateFormat formerDateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
SimpleDateFormat needDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date d = formerDateFormat.parse(str);
System.out.println(needDateFormat.format(d));
}
}


为什么上面这么简单的一段代码会报错呢?

Exception in thread "main" java.text.ParseException: Unparseable date: "08/16/2017 05:00:00 PM"
at java.text.DateFormat.parse(Unknown Source)
at DateFormatTest.main(DateFormatTest.java:9)
...全文
738 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
周靖峰 2017-08-21
  • 打赏
  • 举报
回复
引用 1 楼 chen20111 的回复:
PM应该写成下午
哦哦,对的,应该要区分时间的时区的,谢谢了。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class DateFormatTest {
    public static void main(String[] args) throws Exception {
        String str = "08/16/2017 05:00:00 PM";
        SimpleDateFormat formerDateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.US);
        SimpleDateFormat needDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date d = formerDateFormat.parse(str);
        System.out.println(needDateFormat.format(d));
    }
}
写成这样就对了
chen58683632 2017-08-21
  • 打赏
  • 举报
回复
PM应该写成下午

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧