时间转换的知识总结
1.时间类型的转换问题
时间类型的转换问题一直是我们开发中经常接触的一个问题,涉及到的问题有字符串转时间,时间转字符串等等,经常用,又总是记不太清,本文中对这些时间类型的相关转换进行记录和总结。
2.字符串和Date类型互相转换
2.1 利用SimpleDateFormat转换
通过java.text.SimpleDateFormat类进行转换,这个类中有许多专门用来实现时间和字符串之间的互相转换的方法。首先需要创建格式化的对象,并且设置需要格式化的样式,比如可以用"yyyy-MM-dd HH:mm:ss","yyyy/MM/dd HH:mm:ss","yyyy年MM月dd日 HH时mm分ss秒"等等这种全部动态变化的格式,也可以指定一部分动态换行一部分不变的样式,比如可以用“yyyy-MM-dd 10:00:00”,"2022-MM-dd HH:mm:ss"等等格式。
通过sdf.format(需要转换的时间对象); 格式化方法,可以将日期对象转换为我们需要的时间格式的字符串形式,返回的时间字符串的格式是由上面创建对象时定义格式来决定的。
2.1.2 时间字符串转日期对象:
首先需要保证字符串的格式也和上面我们创建的格式化对象sdf实例中定义的格式一样, 然后通过sdf.parse("需要转换的时间字符串");方法,就可以将时间字符串转换成时间对象了。
2.2 利用DateUtil转换
还可以通过import cn.hutool.core.date.DateUtil类中的专门转换时间的方法进行转换。
2.2.1 时间对象转时间字符串
通过String time = DateUtil.format(new Date(),"yyyyMMddHHmmss");方法可以将时间对象转换为指定格式的时间格式的字符串,第二个参数就是需要转换的时间格式。
2.2.2 时间字符串转时间对象
通过Date time = DateUtil.parse(待转化的时间格式字符串, "yyyyMMddHHmmss");方法以将时间形式的字符串转换为指定格式的时间格式的对象,第二个参数就是需要转换的时间格式,需要注意的是待转化的字符串的格式需要跟第二个参数的时间格式保持一致。
2.2.3 增加时间和减少时间
可以通过Date 减少后的时间 = DateUtil.offsetMinute(time, -时间);方法将时间对象传入第一个参数,将负整数类型传入第二个参数,表示减少多少分钟。
Date 增加后的世界 = DateUtil.offsetMinute(time, 时间);方法将时间对象传入第一个参数,将正整数类型传入第二个参数,表示增加多少分钟。
类似的还有增加减少秒.offsetSecond(),增加减少小时offsetHour(),增加减少天.offsetDay(),增加减少月offsetMonth(),增加减少年.offsetfYear(),都可以利用这个类中的方法便捷的进行增减操作。
以上就是对时间转换小知识点简单归纳和总结。
- 点赞
- 收藏
- 关注作者
评论(0)