今天在写代码的时候,在将字符串转换成时间的时候,出现了java.text.ParseException: Unparseable date: "2017-1-1 00:00:00" 这样的问题
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date start = df.parse(startTime);
Date stop = df.parse(stopTime);
long timeSpan = stop.getTime() - start.getTime();
long hours = timeSpan / (3600 * 1000);
我通过上面这些代码来计算传入的连个时间的时间差,可以在运行的时候却出现上面那个问题,百度了一下,在进行时间转换的时候,字符串的长度要一一对应,
也就是说和这个“yyyy-MM-dd“要长度一致,比如2013-1-1要转换成时间的话需要写成”2013-01-01“;
然后就可以转换成功了!
不要再用DateForamt或者Calendar来格式化时间了,推荐使用jdk8提供的localdatetime