Java常用的时间类以及其转化方式

 更新时间:2023年07月13日 17:02:47   作者:知笑长长  
这篇文章主要介绍了Java常用的时间类以及其转化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

最近经常用到时间这个参数,无论是自己获取到传进去,还是从数据库获取出来,都是Java开发必备的一门基本功。

一、Date类

类 Date 表示特定的瞬间,精确到毫秒。

最简单也最经典的用法:

Date date = new Date();// 获取当前的年月日时分秒以及星期和时区

 

但是,如果我们按自己想要的格式来显示日期,一般会引用DateFormat类的子类SimpleDateFormat

二、DateFormat类

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

DateFormat类是抽象类,所以使用其子类SimpleDateFormat。

一般日期类型转String类型,或者自定义String类型转日期类型都会用到它。

注:"HH:mm:ss"和"hh:mm:ss" ,前者是24小时制,后者是12小时制

注:SimpleDateFormat中对应String中的格式,才能成功转换

三、小案例:今天是今年的第几天?

思路:

将今年第一天和今天都封装到字符串里

将字符串转换成日期对象

将日期对象转换成毫秒值

让今天的毫秒值减去第一天的毫秒值

将毫秒值转换成天数

四、Calendar类

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

public static void main(String[] args) {
        //Calendar对象,无参,默认为当前日期
        Calendar calendar =new GregorianCalendar();
        //获取当前年份
        System.out.println(calendar.get(Calendar.YEAR));
        //获取当前月份 0表示一月,1表示二月......11表示12月
        System.out.println(calendar.get(Calendar.MONTH));
        //获取当前日期 也可以使用DAY_OF_MONTH
        System.out.println(calendar.get(Calendar.DATE));
        //获取当前时 24小时进制
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
        //获取当前分
        System.out.println(calendar.get(Calendar.MINUTE));
        //获取当前秒
        System.out.println(calendar.get(Calendar.SECOND));
        //获取今天是这个月的第几个星期
        System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));
        //获取今天是星期几  1表示星期天,2表示星期一......7表率星期六
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
        // 设置日期时间(月份是从0开始的)(法一)
        calendar =new GregorianCalendar(2021, 11, 14, 20, 20,20);
        // 2021-11-14 20:20:20
        //(法二)
        calendar.set(Calendar.YEAR, 2021);
        calendar.set(Calendar.MONTH, 10);
        calendar.set(Calendar.DAY, 14);
        System.out.println("Calendar和Date转换************");
        Date now = calendar.getTime();
        System.out.println(now);
        System.out.println(calendar.setTime(now));
        System.out.println("Calendar日期计算以及判断***********");
        calendar = new GregorianCalendar();
        Calendar calendar2 = new GregorianCalendar();
        calendar2.set(Calendar.YEAR, 2035);
        //是否在时间(calendar2)之后
        System.out.println(calendar.after(calendar2));
        //是否在时间(calendar2)之前
        System.out.println(calendar.before(calendar2));
        //增加多少年月日,时分秒与之同理
        calendar.add(Calendar.YEAR, -10);
        calendar.add(Calendar.MONTH, 5);
        calendar.add(Calendar.DAY, 1);
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot整合ShardingSphere5.x实现数据加解密功能(最新推荐)

    SpringBoot整合ShardingSphere5.x实现数据加解密功能(最新推荐)

    这篇文章主要介绍了SpringBoot整合ShardingSphere5.x实现数据加解密功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Java实现五子棋网络版

    Java实现五子棋网络版

    这篇文章主要为大家详细介绍了基于Java编写的网络五子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • java稀疏数组的示例代码

    java稀疏数组的示例代码

    这篇文章主要介绍了java稀疏数组,稀疏数组,记录一共有几行几列,有多少个不同值,把具有不同值的元素和行里了及值记录在一个小规模的数组中,从而缩小程序的规模,对java稀疏数组相关知识感兴趣的朋友一起看看吧
    2022-07-07
  • springboot整合vue实现上传下载文件

    springboot整合vue实现上传下载文件

    这篇文章主要为大家详细介绍了springboot整合vue实现上传下载文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • SpringSecurity中的EnableWebSecurity注解启用Web安全详解

    SpringSecurity中的EnableWebSecurity注解启用Web安全详解

    这篇文章主要介绍了SpringSecurity中的EnableWebSecurity注解启用Web安全详解,@EnableWebSecurity是Spring Security用于启用Web安全的注解,典型的用法是该注解用在某个Web安全配置类上,实现了接口,需要的朋友可以参考下
    2023-12-12
  • 解决@Value注解不能注入static修饰的属性问题

    解决@Value注解不能注入static修饰的属性问题

    这篇文章主要介绍了解决@Value注解不能注入static修饰的属性问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • java实现文件复制上传操作

    java实现文件复制上传操作

    这篇文章主要为大家详细介绍了java实现文件复制上传操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Mybatis plus 配置多数据源的实现示例

    Mybatis plus 配置多数据源的实现示例

    这篇文章主要介绍了Mybatis plus 配置多数据源的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 解决springcloud 配置gateway 出现错误的问题

    解决springcloud 配置gateway 出现错误的问题

    今天给大家分享springcloud 配置gateway 出现错误的问题,其实解决方法很简单,只需要降低springcloud版本,改成Hoxton.SR5就好了,再次改成Hoxton.SR12,也不报错了,下面给大家展示下,感兴趣的朋友一起看看吧
    2021-11-11
  • SpringBoot通过计划任务发送邮件提醒的代码详解

    SpringBoot通过计划任务发送邮件提醒的代码详解

    在实际线上项目中,有不断接受到推送方发来的数据场景,而且是不间断的发送,如果忽然间断了,应该是出问题了,需要及时检查原因,这种情况比较适合用计划任务做检查判断,出问题发邮件提醒,本文给大家介绍了SpringBoot通过计划任务发送邮件提醒,需要的朋友可以参考下
    2024-11-11

最新评论