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

本文介绍了一种使用Java计算两个日期间差值的方法,并解决了日期格式中包含特殊字符T的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值