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

Java中的日期时间函数库及其使用方法

发布时间:2023-05-21 18:26:45

Java中有许多日期时间函数库,这些库可以帮助我们方便地操作日期和时间,实现各种复杂的计算任务。本文将给大家介绍Java中常用的日期时间函数库及其使用方法。

一、Java中常用的日期时间函数库

1、Date类

Date类是Java中最基础的日期时间函数库,它是Java中用来表示日期和时间的类。Date类封装了从January 1, 1970, 00:00:00 GMT起至现在的毫秒数,可以通过Date类的构造函数来创建一个日期。

2、SimpleDateFormat类

SimpleDateFormat类是Java中用来格式化日期的类,可以将一个日期格式化成指定的字符串,也可以将一个字符串解析成指定的日期格式。

3、Calendar类

Calendar类是Java中用来操作日期和时间的类,通过Calendar类可以获取当前日期、设置日期和时间、计算时间差等操作。

4、LocalDate类

LocalDate类是Java 8中新增的日期类,用于表示本地日期。它不包含时间和时区等信息,只表示年月日。

5、LocalTime类

LocalTime类是Java 8中新增的时间类,用于表示本地时间。它不包含日期和时区等信息,只表示小时、分钟、秒和纳秒。

6、LocalDateTime类

LocalDateTime类是Java 8中新增的日期时间类,用于表示本地日期和时间。它包含了日期和时间信息,但不包含时区信息。

7、ZonedDateTime类

ZonedDateTime类是Java 8中新增的带时区的日期时间类,用于表示带有时区的日期和时间。

二、Java中日期时间函数库的使用方法

1、Date类的使用方法

Date类主要用于表示时间戳,可以通过以下方式创建一个Date对象:

Date date = new Date();

获取当前时间:

long currentTime = date.getTime();

将时间戳转换为Date对象:

Date date = new Date(currentTime);

2、SimpleDateFormat类的使用方法

SimpleDateFormat类用于对日期进行格式化和解析。创建一个SimpleDateFormat对象需要传递一个日期格式化模式,例如:

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

将Date对象格式化成字符串:

String dateStr = sdf.format(date);

将字符串解析成Date对象:

Date date = sdf.parse(dateStr);

3、Calendar类的使用方法

Calendar类用于操作日期和时间,可以获取当前日期、设置日期和时间、计算时间差等操作。

获取当前日期:

Calendar calendar = Calendar.getInstance();

Date date = calendar.getTime();

设置日期和时间:

calendar.set(Calendar.YEAR, 2021);

calendar.set(Calendar.MONTH, Calendar.JANUARY);

calendar.set(Calendar.DAY_OF_MONTH, 1);

calendar.set(Calendar.HOUR_OF_DAY, 0);

calendar.set(Calendar.MINUTE, 0);

calendar.set(Calendar.SECOND, 0);

计算日期和时间:

calendar.add(Calendar.YEAR, 1); //加上1年

calendar.add(Calendar.MONTH, 1); //加上1月

calendar.add(Calendar.DATE, 1); //加上1天

calendar.add(Calendar.HOUR_OF_DAY, 1); //加上1小时

calendar.add(Calendar.MINUTE, 1); //加上1分钟

calendar.add(Calendar.SECOND, 1); //加上1秒

4、LocalDate类的使用方法

LocalDate类用于表示本地日期,可以通过以下方式创建一个LocalDate对象:

LocalDate date = LocalDate.now();

获取年、月、日:

int year = date.getYear();

int month = date.getMonthValue();

int day = date.getDayOfMonth();

增加或减少年、月、日:

date = date.plusYears(1); //增加1年

date = date.plusMonths(1); //增加1月

date = date.plusDays(1); //增加1天

date = date.minusYears(1); //减少1年

date = date.minusMonths(1); //减少1月

date = date.minusDays(1); //减少1天

5、LocalTime类的使用方法

LocalTime类用于表示本地时间,可以通过以下方式创建一个LocalTime对象:

LocalTime time = LocalTime.now();

获取小时、分钟、秒:

int hour = time.getHour();

int minute = time.getMinute();

int second = time.getSecond();

增加或减少小时、分钟、秒:

time = time.plusHours(1); //增加1小时

time = time.plusMinutes(1); //增加1分钟

time = time.plusSeconds(1); //增加1秒

time = time.minusHours(1); //减少1小时

time = time.minusMinutes(1); //减少1分钟

time = time.minusSeconds(1); //减少1秒

6、LocalDateTime类的使用方法

LocalDateTime类用于表示本地日期和时间,可以通过以下方式创建一个LocalDateTime对象:

LocalDateTime dateTime = LocalDateTime.now();

获取年、月、日、时、分、秒:

int year = dateTime.getYear();

int month = dateTime.getMonthValue();

int day = dateTime.getDayOfMonth();

int hour = dateTime.getHour();

int minute = dateTime.getMinute();

int second = dateTime.getSecond();

增加或减少年、月、日、时、分、秒:

dateTime = dateTime.plusYears(1); //增加1年

dateTime = dateTime.plusMonths(1); //增加1月

dateTime = dateTime.plusDays(1); //增加1天

dateTime = dateTime.plusHours(1); //增加1小时

dateTime = dateTime.plusMinutes(1); //增加1分钟

dateTime = dateTime.plusSeconds(1); //增加1秒

dateTime = dateTime.minusYears(1); //减少1年

dateTime = dateTime.minusMonths(1); //减少1月

dateTime = dateTime.minusDays(1); //减少1天

dateTime = dateTime.minusHours(1); //减少1小时

dateTime = dateTime.minusMinutes(1); //减少1分钟

dateTime = dateTime.minusSeconds(1); //减少1秒

7、ZonedDateTime类的使用方法

ZonedDateTime类表示带有时区的日期和时间,可以通过以下方式创建一个ZonedDateTime对象:

ZonedDateTime dateTime = ZonedDateTime.now(ZoneId.systemDefault());

获取年、月、日、时、分、秒:

int year = dateTime.getYear();

int month = dateTime.getMonthValue();

int day = dateTime.getDayOfMonth();

int hour = dateTime.getHour();

int minute = dateTime.getMinute();

int second = dateTime.getSecond();

增加或减少年、月、日、时、分、秒:

dateTime = dateTime.plusYears(1); //增加1年

dateTime = dateTime.plusMonths(1); //增加1月

dateTime = dateTime.plusDays(1); //增加1天

dateTime = dateTime.plusHours(1); //增加1小时

dateTime = dateTime.plusMinutes(1); //增加1分钟

dateTime = dateTime.plusSeconds(1); //增加1秒

dateTime = dateTime.minusYears(1); //减少1年

dateTime = dateTime.minusMonths(1); //减少1月

dateTime = dateTime.minusDays(1); //减少1天

dateTime = dateTime.minusHours(1); //减少1小时

dateTime = dateTime.minusMinutes(1); //减少1分钟

dateTime = dateTime.minusSeconds(1); //减少1秒

总结

对于Java程序员来说,日期和时间是经常使用的,掌握Java中的日期时间函数库是非常必要的。本文介绍了Java中常用的日期时间函数库及其使用方法,希望能够对大家有所帮助。