表示字符串的时间加法

这篇博客探讨了如何在Java 1.8中利用LocalDateTime类进行字符串时间的加法运算。首先介绍了传统的解析和加法计算方法,然后详细阐述了在JDK1.8中使用LocalDateTime的新思路,包括灵活的日期时间格式处理,解析字符串,通过plus方法进行加法操作,以及格式化输出计算结果。示例代码展示了整个过程。
摘要由CSDN通过智能技术生成

现在有一个表示时间的字符串“2019/12/1 22:13:55”,现在我要对其计算1小时后的时间是多少?

思路:

1、解析该字符串,获得其pattern

2、解析该字符串获得时间类的实例

3、进行加法计算

4、(使用前面的pattern)将结果format,并得到最终结果

在使用JDK1.6的时候,我曾经写过类似的代码(没发过),基本思路是:

1、预先定义一些pattern以及其的正则表达式,字符串能够匹配正则,则找到其pattern

2、用SimpleDateFormat解析得到Date

3、将Date转换成Calendar调用add进行计算

4、Calendar实例转换成Date,再format得到字符串

现在用JDK1.8了,而1.8有了新的时间类LocalDateTime,是否也可以用LocalDateTime进行字符串时间的加法计算?

so重新梳理了一下思路:

1、匹配pattern原先的太狭隘了!按如下原则重写该部分功能:

1.a、时间单位是按从大到小的顺序,即:年、月、日、时、分、秒、毫秒

1.b、间隔符可以是任意不与pattern关键字重复的字符,也可以是多个连续的字符;

1.c、有间隔符时,表示时间的数字无需保证位数足够,如十二点一分三十五秒可以为:12:1:35;而无时间间隔符时表示时间的位数必须足够,上例时间为:120135

2、解析该字符串成为LocalDateTime。注意:如果该字符串表示的时间没有小时或更小的单位,需要特殊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值