1)Date工具类用途
- 获取当前日期: Date dt = Date();
- 根据时间戳获取指定日期: Date dt = Date(long millisec);
- 比较日期大小
2)Date对象格式
Sat Feb 03 14:48:47 CST 2018
3)格式化日期
- Date dNow = new Date( );
- SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
- System.out.println("当前时间为: " + ft.format(dNow));
- //以上实例编译运行结果如下:
- //当前时间为: 2018-09-06 10:16:34
4)比较日期大小
序号 | 方法 | 描述 |
---|---|---|
1 | boolean after(Date date | 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 |
2 | boolean before(Date date) | 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 |
3 | boolean equals(Object date) | 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 |
4 | long getTime( ) | 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
5 | void setTime(long time) | 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
1)Calendar工具类用途
- 设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟
- 在日期的特定部分加上或者减去值
2)Calendar类对象字段
Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想
常量 | 描述 |
---|---|
Calendar.YEAR | 年份 |
Calendar.MONTH | 月份 |
Calendar.DATE | 日期 |
Calendar.DAY_OF_MONTH | 日期,和上面的字段意义完全相同 |
Calendar.HOUR | 12小时制的小时 |
Calendar.HOUR_OF_DAY | 24小时制的小时 |
Calendar.MINUTE | 分钟 |
Calendar.SECOND | 秒 |
Calendar.DAY_OF_WEEK | 星期几 |
3)Calendar类常用方法
序号 | 方法 | 描述 |
---|---|---|
1 | Calendar cal = Calendar getInstance(TimeZone zone, Locale aLocale) | 获得一个日历,zone和aLocale表示时区和语言环境,不传取默认值 |
2 | cal.computeTime() | 将日历的时间域作为毫秒值 |
3 | cal.setTime(Date date) | 用给定的 Date 设置 Calendar 的当前时间 |
4 | cal.set(int year,int month,int date,int hour,int minute,int second) | 设置年、月、日期、时、分和秒域的数值。 保留其它域上次的值。 如果不需要保留,首先调用 clear |
5 | cal.setTimeInMillis(long millis) | 用给定的时间戳设置 Calendar 的当前时间 |
6 | cal.isSet(int field) | 确定给定的时间域是否设置了数值 |
7 | cal.get(int field) | 获得给定时间域的值 |
8 | cal.getTime() | 获得日历的当前时间 |
9 | cal.getTimeInMillis() | 获得日历的时间戳 |
10 | cal.clear() cal.clear(int field) | |
11 | cal.complete() | 填充时间域列表中所有未设置的域 |
12 | cal.equals(Object obj) cal.before(Object when) cal.after(Object when) | |
13 | cal.add(int field,int amount) | 日期的计算功能。 按照日历的规则,将指定 ( 带符号的 ) 数量的时间添加到给定的时间域。 例如,从日历的当前时间减 5 ,可调用: add(Calendar.DATE, -5) |
更多函数参考:Java Calendar所有方法
4)Calendar类的set方法示例
- Calendar c1 = Calendar.getInstance();
-
- //把Calendar对象c1的年月日分别设这为:2009、6、12
- c1.set(2009, 6, 12);
- //如果只设定某个字段,例如把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算
- c1.set(Calendar.DATE,10);
- //把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算
- c1.set(Calendar.YEAR,2008);
- //Add设置:把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
- c1.add(Calendar.DATE, 10);
- //把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算
- c1.add(Calendar.DATE, -10);
5)Calendar类的set方法示例
- Calendar c1 = Calendar.getInstance();
- // 获得年份
- int year = c1.get(Calendar.YEAR);
- // 获得月份
- int month = c1.get(Calendar.MONTH) + 1;
- // 获得日期
- int date = c1.get(Calendar.DATE);
- // 获得小时
- int hour = c1.get(Calendar.HOUR_OF_DAY);
- // 获得分钟
- int minute = c1.get(Calendar.MINUTE);
- // 获得秒
- int second = c1.get(Calendar.SECOND);
- // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
- int day = c1.get(Calendar.DAY_OF_WEEK);
6)Calendar类实战应用
JAVA根据特定日期获取日,月,年的开始时间与结束时间_世俗的大尾巴也熊的博客-CSDN博客
用途:时间偏移量获取,使用场景包含但不限于获取年,季度,月,周,日,时,分,秒,毫秒的开始时间和结束时间
6hutool实战:DateUtil(时间工具类)-时间偏移量获取_小虚竹的博客-CSDN博客_dateutil.truncate