JAVA日期处理类详解
在JAVA编程中,日期处理是非常重要的一部分内容。JAVA内置了许多日期处理类,下面就来详细地介绍一下。
java.util.Date类
java.util.Date类是JAVA中最早的关于日期时间处理的类。在JAVA8之前,它被广泛使用。但是由于它的一些不足之处,比如日期时间格式化问题,API设计不具有可读性等等,所以在JAVA8之后就逐渐被取代了。
示例1:获取当前日期
import java.util.Date;
public class DateExample {
public static void main(String[] args) {
//获取当前日期
Date currentDate = new Date();
System.out.println(currentDate);
}
}
输出结果:
Thu May 20 10:15:35 CST 2021
示例2:Date类的其它常用方法
import java.util.Date;
public class DateExample {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString());
System.out.println(date.getTime());
System.out.println(date.before(new Date()));
System.out.println(date.after(new Date()));
System.out.println(date.equals(new Date()));
}
}
输出结果:
Thu May 20 10:25:08 CST 2021
1621472708381
true
false
false
java.util.Calendar类
java.util.Calendar类是一个更高级的日期时间处理类。它比Date类更加灵活,可以用于获取指定时间的年、月、日、小时、分钟等等,而且推荐使用它,因为它比Date类具有更好的可读性和更好的API设计。
示例3:获取指定日期的年、月、日
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2021, Calendar.MAY, 20);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.printf("Year : %d%n", year);
System.out.printf("Month : %d%n", month + 1);
System.out.printf("Day : %d%n", day);
}
}
输出结果:
Year : 2021
Month : 5
Day : 20
示例4:把Calendar对象转换成java.util.Date对象
import java.util.Calendar;
import java.util.Date;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2021, Calendar.MAY, 20);
Date date = calendar.getTime();
System.out.println(date);
}
}
输出结果:
Thu May 20 00:00:00 CST 2021
java.time包
java.time包是JAVA8新增的日期时间处理包,它是线程安全的并且更好地解决了日期时间格式化问题。它的使用和Calendar类非常相似,但是它更加清晰、简单,更加适合常规的日期时间处理。
示例5:获取当前日期和时间
import java.time.LocalDate;
import java.time.LocalTime;
public class JavaTimeExample {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now();
LocalTime currentTime = LocalTime.now();
System.out.println(currentDate + " " + currentTime);
}
}
输出结果:
2021-05-20 10:41:34.536
示例6:使用java.time.LocalDateTime对象进行日期和时间运算
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class JavaTimeExample {
public static void main(String[] args) {
LocalDateTime dateTime1 = LocalDateTime.of(2021, 5, 20, 11, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2021, 5, 20, 12, 0);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
System.out.println(dateTime1.format(formatter));
System.out.println(dateTime2.format(formatter));
long diffMinutes = ChronoUnit.MINUTES.between(dateTime1, dateTime2);
System.out.println("相差" + diffMinutes + "分钟");
}
}
输出结果:
2021-05-20 11:00
2021-05-20 12:00
相差60分钟
以上就是JAVA日期处理类的详细攻略,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA日期处理类详解 - Python技术站