Java日期处理工具类DateUtil
Java中处理日期时间是非常常见的需求,使用Java默认的Date
类虽然可以实现,但是其API使用起来不太友好,我们往往需要借助一些工具类来辅助我们处理日期时间。DateUtil
是一款常见的日期处理工具类,它封装了很多常用的方法,可以用于日期的计算、格式化、解析等操作,非常方便实用。
导入DateUtil
在使用DateUtil
前,需要先将其导入到我们的项目中。我们可以通过Maven来自动管理依赖,只需要在项目的pom.xml
中加入以下依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.5.8</version>
</dependency>
DateUtil常用方法
获取当前日期
我们可以通过DateUtil.date()
方法来获取当前日期:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
System.out.println(DateUtil.date());
}
}
上面的代码会输出当前的日期和时间,如下所示:
Mon Dec 20 22:55:24 CST 2021
格式化日期
如果我们需要将日期按照指定的格式进行显示,可以使用DateUtil.format()
方法,该方法将日期按照指定的格式转化为字符串:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
System.out.println(DateUtil.format(DateUtil.date(), "yyyy-MM-dd"));
}
}
上面的代码将当前日期按照格式yyyy-MM-dd
进行格式化,输出为2021-12-20
。
字符串转日期
有时候,我们需要将一个字符串转化为日期对象,可以使用DateUtil.parse()
方法。该方法可以自动识别字符串的日期格式,如果字符串格式不正确,则会抛出异常:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
String dateString = "2021-12-20";
System.out.println(DateUtil.parse(dateString));
}
}
上面的代码将字符串2021-12-20
转化为日期对象,输出为Mon Dec 20 00:00:00 CST 2021
。
日期计算
DateUtil
还提供了一系列的方法用于日期的计算。例如,我们可以使用DateUtil.offsetDay()
方法来计算指定日期偏移若干天后的日期:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
System.out.println(DateUtil.offsetDay(DateUtil.date(), 1));
}
}
上面的代码将当前日期偏移一天后的日期输出,如下所示:
Tue Dec 21 22:55:24 CST 2021
判断日期大小
我们可以使用DateUtil.compare()
方法来比较两个日期的大小:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
String dateString1 = "2021-12-20";
String dateString2 = "2021-12-21";
int result = DateUtil.compare(DateUtil.parse(dateString1),DateUtil.parse(dateString2));
System.out.println(result);
}
}
上面的代码比较两个日期的大小,输出结果为-1
,表示第一个日期小于第二个日期。
示例
示例1:计算相隔天数
我们可以使用DateUtil.betweenDay()
方法来计算两个日期之间相隔的天数:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
String dateString1 = "2021-12-20";
String dateString2 = "2021-12-22";
long betweenDay = DateUtil.betweenDay(DateUtil.parse(dateString1),DateUtil.parse(dateString2),true);
System.out.println(betweenDay);
}
}
上面的代码计算2021-12-20
和2021-12-22
之间相隔的天数,并按照绝对值输出,结果为2
。
示例2:判断是否为同一天
我们可以使用DateUtil.isSameDay()
方法来判断两个日期是否为同一天:
import cn.hutool.core.date.DateUtil;
public class Demo {
public static void main(String[] args) {
String dateString1 = "2021-12-20";
String dateString2 = "2021-12-22";
boolean isSameDay = DateUtil.isSameDay(DateUtil.parse(dateString1),DateUtil.parse(dateString2));
System.out.println(isSameDay);
}
}
上面的代码判断2021-12-20
和2021-12-22
是否为同一天,输出为false
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java处理日期的工具类DateUtil - Python技术站