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

util包中的日期和时间函数?

发布时间:2023-05-31 03:50:19

util包是Java语言中的一个常用工具包,其中包含了一些与日期和时间相关的函数。这些函数的作用是帮助程序员在Java程序中方便地处理日期和时间,从而使程序更为高效、可靠。在本文中,我们将会对util包中的日期和时间函数进行介绍。

Java中的时间戳

通常情况下,Java程序都会使用时间戳来表示日期和时间。时间戳是指自1970年1月1日0时0分0秒(UTC时区)起至现在的毫秒数。Java中时间戳的表示方式是一个long型整数,可通过System.currentTimeMillis()函数获取当前的时间戳。下面是一个示例代码:

long timeStamp = System.currentTimeMillis();
System.out.println(timeStamp);

输出结果为:

1605961174057

上面的代码中,我们使用System.currentTimeMillis()函数获取了当前的时间戳,并将其打印出来。这里的时间戳表示的是从1970年1月1日0时0分0秒起至现在的毫秒数。

日期和时间的格式化

Java中的日期和时间格式化涉及到两个类:SimpleDateFormat和DateTimeFormatter。

以SimpleDateFormat为例,我们可以使用它来将日期和时间格式化为字符串,也可以将字符串解析成日期和时间。这里我们以格式化为字符串为例进行介绍。

SimpleDateFormat格式化日期和时间的方式是通过创建一个格式化模板字符串,然后将日期和时间的格式化进行匹配。下面是一个示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentTime = new Date();
String formattedTime = sdf.format(currentTime);
System.out.println(formattedTime);

输出结果为:

2020-11-21 22:30:51

这里我们先创建了一个SimpleDateFormat对象sdf,创建时需要将格式化模板字符串作为参数传入。模板字符串中包含了各个部分的日期和时间的格式化方式。在我们的示例代码中,模板字符串为"yyyy-MM-dd HH:mm:ss",分别对应年、月、日、小时、分钟和秒。然后我们使用sdf.format()函数将当前时间格式化为字符串,并将其输出。

DateTimeFormatter也可以用来格式化日期和时间。不同于SimpleDateFormat,它是Java 8之后新加入的类,另外它的实现使用了线程安全的方式。下面是一个示例代码:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime currentTime = LocalDateTime.now();
String formattedTime = dtf.format(currentTime);
System.out.println(formattedTime);

以上代码和SimpleDateFormat类似,首先创建了DateTimeFormatter对象dtf,同时也需要传入格式化模板字符串"yyyy-MM-dd HH:mm:ss",然后使用dtf.format()函数将当前时间格式化并输出。

日期的计算与比较

针对日期的计算和比较,Java提供了如下类:

- Calendar

- Date

- LocalDate

- LocalDateTime

- ZonedDateTime

- Duration

- Period

其中Calendar和Date类是Java早期版本中用来处理日期的类,它们已经逐渐被LocalDate、LocalDateTime和ZonedDateTime所替代。Duration和Period用于计算时间的差值,Duration计算的是时分秒上的差值,Period计算的是年月日之间的差值。

对于Date类,我们可以使用它的getTime()函数获取时间戳,也可以使用setTime()函数设置时间戳。

Date date = new Date();
long timeStamp = date.getTime();
System.out.println(timeStamp);

date.setTime(1606000000000L);
System.out.println(date);

这里首先创建了一个Date对象,并通过getTime()函数获取其时间戳并输出。然后我们使用setTime()函数将日期设置为指定的时间戳,并将其输出。

对于LocalDateTime类,我们可以通过now()函数创建一个当前日期和时间的对象,也可以通过of()函数自定义一个日期时间对象。它还提供了plus()和minus()函数,用于对日期进行加减操作。下面是一个示例代码:

LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println(currentDateTime);

LocalDateTime customDateTime = LocalDateTime.of(2020, 11, 21, 22, 30, 51);
System.out.println(customDateTime);

LocalDateTime newDateTime = currentDateTime.plusDays(1).plusMinutes(10);
System.out.println(newDateTime);

以上代码中,我们首先使用现有的日期和时间创建了一个LocalDateTime对象currentDateTime,并将其输出。然后我们使用of()函数创建了另一个日期时间对象customDateTime,并将其输出。最后我们使用plusDays()和plusMinutes()函数对日期进行加减操作,并将操作后的结果输出。

总结

本文对Java util包中的日期和时间函数进行了介绍,包括时间戳、日期和时间的格式化、日期的计算和比较等。在Java开发中,日期和时间是非常常见和重要的数据类型,在编写代码时需要对它们的处理和使用非常熟练。希望本文能够对读者学习和使用Java中的日期和时间函数有所帮助。