时间转换的知识总结

举报
多米诺的古牌 发表于 2022/09/25 19:42:17 2022/09/25
【摘要】 时间类型的转换问题一直是我们开发中经常接触的一个问题,涉及到的问题有字符串转时间,时间转字符串等等,经常用,又总是记不太清,本文中对这些时间类型的相关转换进行记录和总结。

​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"等等格式。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2.1.1 时间对象转字符串:

 通过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(),都可以利用这个类中的方法便捷的进行增减操作。

以上就是对时间转换小知识点简单归纳和总结。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。