欢迎访问宙启技术站
智能推送

Java中的日期和时间处理函数有哪些?

发布时间:2023-06-07 06:43:28

Java中的日期和时间处理函数比较全面,主要涉及到以下几个方面:

一、获取当前日期和时间

1. 使用java.util.Date类中的构造函数获取当前日期和时间

Date date = new Date();

2. 使用Calendar类的实例获取当前日期和时间

Calendar cal = Calendar.getInstance();

Date now = cal.getTime();

3. 使用java.time包中提供的类获取当前日期和时间

LocalDateTime currentTime = LocalDateTime.now();

二、日期格式化

1. 使用SimpleDateFormat类格式化日期

Date date = new Date();

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

String dateString = dateFormat.format(date);

2. 使用DateTimeFormatter类格式化日期和时间

LocalDateTime dateTime = LocalDateTime.now();

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");

String formattedDateTime = dateTime.format(formatter);

三、日期比较

1. 使用Date类比较日期

Date date1 = new Date();

Date date2 = new Date();

if(date1.equals(date2)){

    System.out.println("日期相同");

}else{

    System.out.println("日期不同");

}

2. 使用Calendar类比较日期

Calendar cal1 = Calendar.getInstance();

Calendar cal2 = Calendar.getInstance();

if(cal1.equals(cal2)){

    System.out.println("日期相同");

}else{

    System.out.println("日期不同");

}

3. 使用java.time包中提供的类比较日期

LocalDate date1 = LocalDate.of(2021, 4, 1);

LocalDate date2 = LocalDate.of(2021, 4, 2);

if(date1.equals(date2)){

    System.out.println("日期相同");

}else{

    System.out.println("日期不同");

}

四、日期加减

1. 使用Calendar类加减日期

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, 1); //将日期加1天(也可以用cal.add(Calendar.DAY_OF_MONTH,1))

Date tomorrow = cal.getTime();

2. 使用java.time包中提供的类加减日期

LocalDateTime dateTime = LocalDateTime.now();

LocalDateTime plusDays = dateTime.plusDays(1); //将日期加1天

五、日期长度计算

1. 使用Date类计算两个日期之间的天数

Date date1 = new Date();

Date date2 = new Date();

long diff = date2.getTime() - date1.getTime();

long diffDays = diff / (24 * 60 * 60 * 1000);

2. 使用java.time包中提供的类计算两个日期之间的天数

LocalDate date1 = LocalDate.of(2021, 4, 1);

LocalDate date2 = LocalDate.of(2021, 4, 7);

long diffDays = ChronoUnit.DAYS.between(date1, date2);

六、格式化日期时间

1. 使用java.text.SimpleDateFormat类格式化日期时间

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = new Date();

String formattedDate = formatter.format(date);

2. 使用java.time.format.DateTimeFormatter类格式化日期时间

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalDateTime dateTime = LocalDateTime.now();

String formattedDateTime = dateTime.format(formatter);

七、日期和时间戳转换

1. 将Date转为时间戳

Date date = new Date();

long timestamp = date.getTime();

2. 将时间戳转为Date

long timestamp = 1617885183000L;

Date date = new Date(timestamp);

3. 将LocalDateTime转为时间戳

LocalDateTime dateTime = LocalDateTime.now();

Instant instant = dateTime.toInstant(ZoneOffset.of("+8")); //需要指定时区

long timestamp = instant.toEpochMilli();

4. 将时间戳转为LocalDateTime

long timestamp = 1617885183000L;

Instant instant = Instant.ofEpochMilli(timestamp);

LocalDateTime dateTime = LocalDateTime.ofInstant(instant, ZoneOffset.of("+8")); //需要指定时区

以上是Java中的日期和时间处理函数。在实际开发过程中,根据具体的需求选择合适的函数进行处理,能够更好地增强程序的可读性和可维护性。