Java中Date类格式形如yyyy-MM-ddTHH:mm:ss的日期转换问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GerryRun/article/details/80974706

今天处理新接手的一个项目,其中有需求计算两个日期的差值,内心毫无波澜地开始处理,等我拿到接口数据的时候,我内心依然毫无波澜,甚至想吃黄焖鸡米饭…..
数据是这样的,

"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”;

运行结果如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/GerryRun/article/details/80974706
今日推荐