当先锋百科网

首页 1 2 3 4 5 6 7

Java中的日期是非常重要的数据类型,可以使用Java内置的Date类和Calendar类以及Joda-Time库实现对日期的处理。

使用Date类可以获取系统当前的日期和时间,例如:

Date now = new Date();
System.out.println(now);

输出结果为:

Thu Sep 02 11:07:46 CST 2021

其中CST表示中国标准时间为UTC+8。

可以使用Calendar类对日期进行加减操作,例如:

Calendar c = Calendar.getInstance();
c.setTime(now);
c.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(c.getTime());

输出结果为:

Fri Sep 03 11:07:46 CST 2021

在比较日期大小时,可以使用Date类的compareTo方法或者Calendar类的compareTo方法,例如:

Date date1 = new Date();
Date date2 = new Date(date1.getTime() + 1000);
int result = date1.compareTo(date2);
if (result< 0) {
System.out.println("date1在date2之前");
} else if (result >0) {
System.out.println("date1在date2之后");
} else {
System.out.println("date1和date2相等");
}

输出结果为:

date1在date2之前

代码中使用了getTime方法获取Date对象的毫秒数,可以使用这个方法进行日期的加减操作。

在使用Calendar类比较日期大小时,需要先将日期转换成毫秒数再进行比较,例如:

Calendar c1 = Calendar.getInstance();
c1.setTime(date1);
Calendar c2 = Calendar.getInstance();
c2.setTime(date2);
long millis1 = c1.getTimeInMillis();
long millis2 = c2.getTimeInMillis();
int result = Long.compare(millis1, millis2);
if (result< 0) {
System.out.println("date1在date2之前");
} else if (result >0) {
System.out.println("date1在date2之后");
} else {
System.out.println("date1和date2相等");
}

输出结果与上面的代码相同。