关于日期的工具类

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)比较日期大小

序号方法描述
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方法示例

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hutool日期工具类是其中一个常用的类辅助工具之一。它提供了一系列方便的方法来处理日期和时间相关的操作。日期工具类具有以下特点: 1. 可以灵活地处理日期和时间的格式化和解析。 2. 可以进行日期的计算和比较,例如计算两个日期之间的天数或小时数差距。 3. 可以对日期进行加减操作,例如增加几天或减去几小时。 4. 可以获取当前日期和时间,以及获取特定日期的年、月、日、小时、分钟、秒等信息。 日期工具类的使用非常简单,你可以使用DateTime类来进行日期相关的操作。DateTime类继承自java.util.Date,因此可以替代原生的Date类的使用,并且还提供了许多其他实用的方法。 例如,你可以使用DateTime的now()方法获取当前日期和时间,使用format()方法将日期格式化为指定的格式,使用parse()方法将字符串解析为日期对象,使用plusDays()方法增加指定的天数等等。 总的来说,Hutool日期工具类提供了丰富的方法和功能,可以方便地处理日期和时间相关的操作。您可以根据具体的需求选择使用适合的方法来简化您的开发工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Hutool使用指南(一):时间日期工具](https://blog.csdn.net/C18298182575/article/details/131008226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [hutool 工具类](https://download.csdn.net/download/LiHaoYang11/12153632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值