Java中Date类格式形如yyyy-MM-ddTHH:mm:ss的日期转换问题_GerryRun的博客-CSDN博客_yyyy-mm-ddthh:mm:ss

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

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

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


Original url: Access
Created at: 2020-06-11 10:07:36
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论