• 关于日期的工具类


    1、java.util.Date

    1)Date工具类用途

    • 获取当前日期: Date dt = Date();
    • 根据时间戳获取指定日期: Date dt = Date(long millisec);
    • 比较日期大小

    2)Date对象格式

    Sat Feb 03 14:48:47 CST 2018

    3)格式化日期

    1. Date dNow = new Date( );
    2. SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
    3. System.out.println("当前时间为: " + ft.format(dNow));
    4. //以上实例编译运行结果如下:
    5. //当前时间为: 2018-09-06 10:16:34

    4)比较日期大小

    序号方法描述
    1boolean after(Date date若当调用此方法的Date对象在指定日期之后返回true,否则返回false。
    2boolean before(Date date)若当调用此方法的Date对象在指定日期之前返回true,否则返回false。
    3boolean equals(Object date)当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。
    4long getTime( )返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
    5void setTime(long time)用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。

    2、java.util.Calendar

    1)Calendar工具类用途

    • 设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟
    • 在日期的特定部分加上或者减去值

    2)Calendar类对象字段

    Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想

    常量描述
    Calendar.YEAR年份
    Calendar.MONTH月份
    Calendar.DATE日期
    Calendar.DAY_OF_MONTH日期,和上面的字段意义完全相同
    Calendar.HOUR12小时制的小时
    Calendar.HOUR_OF_DAY24小时制的小时
    Calendar.MINUTE分钟
    Calendar.SECOND
    Calendar.DAY_OF_WEEK星期几

    3)Calendar类常用方法

    序号方法描述
    1

    Calendar cal = Calendar getInstance(TimeZone zone, Locale aLocale)

    获得一个日历,zone和aLocale表示时区和语言环境,不传取默认值

    2cal.computeTime()将日历的时间域作为毫秒值
    3cal.setTime(Date date)用给定的 Date 设置 Calendar 的当前时间
    4cal.set(int year,int month,int date,int hour,int minute,int second)设置年、月、日期、时、分和秒域的数值。 保留其它域上次的值。 如果不需要保留,首先调用 clear
    5cal.setTimeInMillis(long millis)用给定的时间戳设置 Calendar 的当前时间
    6cal.isSet(int field)确定给定的时间域是否设置了数值
    7cal.get(int field)获得给定时间域的值
    8cal.getTime()获得日历的当前时间
    9cal.getTimeInMillis()获得日历的时间戳
    10

    cal.clear()

    cal.clear(int field)

    11cal.complete()填充时间域列表中所有未设置的域
    12

    cal.equals(Object obj)

    cal.before(Object when)

    cal.after(Object when)

    13cal.add(int field,int amount)日期的计算功能。 按照日历的规则,将指定 ( 带符号的 ) 数量的时间添加到给定的时间域。 例如,从日历的当前时间减 5 ,可调用:

    add(Calendar.DATE, -5)

    更多函数参考:Java Calendar所有方法

    4)Calendar类的set方法示例

    1. Calendar c1 = Calendar.getInstance();
    2. //把Calendar对象c1的年月日分别设这为:2009、6、12
    3. c1.set(2009, 6, 12);
    4. //如果只设定某个字段,例如把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算
    5. c1.set(Calendar.DATE,10);
    6. //把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算
    7. c1.set(Calendar.YEAR,2008);
    8. //Add设置:把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
    9. c1.add(Calendar.DATE, 10);
    10. //把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算
    11. c1.add(Calendar.DATE, -10);

    5)Calendar类的set方法示例

    1. Calendar c1 = Calendar.getInstance();
    2. // 获得年份
    3. int year = c1.get(Calendar.YEAR);
    4. // 获得月份
    5. int month = c1.get(Calendar.MONTH) + 1;
    6. // 获得日期
    7. int date = c1.get(Calendar.DATE);
    8. // 获得小时
    9. int hour = c1.get(Calendar.HOUR_OF_DAY);
    10. // 获得分钟
    11. int minute = c1.get(Calendar.MINUTE);
    12. // 获得秒
    13. int second = c1.get(Calendar.SECOND);
    14. // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
    15. int day = c1.get(Calendar.DAY_OF_WEEK);

     6)Calendar类实战应用

    JAVA根据特定日期获取日,月,年的开始时间与结束时间_世俗的大尾巴也熊的博客-CSDN博客

    3、cn.hutool.core.date.DateUtil

    用途:时间偏移量获取,使用场景包含但不限于获取年,季度,月,周,日,时,分,秒,毫秒的开始时间和结束时间

    6hutool实战:DateUtil(时间工具类)-时间偏移量获取_小虚竹的博客-CSDN博客_dateutil.truncate

  • 相关阅读:
    架构师之路九分布式系统下异步通信与限流方案
    计算机网络——网络层(多协议标签交换MPLS、软件定义网络SDN)
    数据结构--希尔排序
    AXS2030 5.2W 单通道 AB/D 类音频功率放大器
    【STM32 IIC通信与温湿度传感器AHT20(I2C_AHT20)】
    Caffe在Linux下的安装,编译,实验
    苹果支付有哪些坑,为什么苹果支付比支付宝和微信容易丢单?
    java毕业设计超市商品管理mybatis+源码+调试部署+系统+数据库+lw
    上周热点回顾(3.27-4.2)
    【电商项目实战】拦截器(详细篇)
  • 原文地址:https://blog.csdn.net/sanmi8276/article/details/127984020