今天处理新接手的一个项目,其中有需求计算两个日期的差值,内心毫无波澜地开始处理,等我拿到接口数据的时候,我内心依然毫无波澜,甚至想吃黄焖鸡米饭…..
数据是这样的,
"arrivalDateTime":"2019-03-08T15:55:00","departureDateTime":"2019-03-09T12:00
:00","duration":"12:-45"
日期中间那个”T”是什么鬼?
按照经验来处理:
String DATE_FORMAT_YMDHMS_WITH_T="yyyy-MM-ddTHH:mm:ss"; SimpleDateFormat
format = new SimpleDateFormat(DATE_FORMAT_YMDHMS_WITH_T); Date date1 = format
.parse("2018-07-10T12:05:00"); Date date2 = format.parse("2018-07-11T12:00:00");
//计算差值,分钟数 long mills = (date2.getTime() - date1.getTime()) ; long minutes =
(date2.getTime() - date1.getTime()) / (1000 * 60); String minuteStr=minutes/60+
"h"+minutes%60+"m" + ""; System.out.println("mills=="+mills); System.out.println
("minutes=="+minutes); System.out.println("minuteStr=="+minuteStr);
果不其然[苦笑][苦笑]:


后经过前辈指导,仅需修改格式化字符串为:
String DATE_FORMAT_YMDHMS_WITH_T=”yyyy-MM-dd’T’HH:mm:ss”;

运行结果如下: