关于日期的工具类

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)格式化日期

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毫秒数设置时间和日期。

2、java.util.Calendar

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博客

3、cn.hutool.core.date.DateUtil类

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

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

你可能感兴趣的:(后端—开发语言—Java,java,开发语言)