How to work with dates and times in Java 8 (java.time)?
Jul 07, 2025 am 02:15 AMIt is recommended to use the java.time package to handle dates and times in Java 8 and above. 1. LocalDate and LocalTime are used for dates and times without time zones, such as 2025-04-05 and 14:30:45 respectively; 2. Use now() to get the current date or time, and of() to create a specified date or time; 3. Common operations include adding and subtracting days, months, etc., and the object is immutable, and each operation returns a new instance; 4. LocalDateTime combines date and time but no time zone, ZonedDateTime supports time zone; 5. Use ZoneId to define the time zone and convert it through atZone(), and use withZoneSameInstant() to implement time zone conversion; 6. Duration calculates the time difference, Period calculates the date difference, and ChronoUnit can obtain the exact difference value; 7. DateTimeFormatter For formatting and parsing, please note that the pattern string must be consistent with the input. Familiar with these core categories and conversion methods can deal with most business scenarios.
To handle dates and times in Java 8 and above, it is recommended to use the java.time
package. This package is part of JSR-310, replacing the old Date
and Calendar
classes, providing a clearer and easier-to-use API.

LocalDate and LocalTime: The basis for processing dates and times
LocalDate
represents a date without a time zone, such as 2025-04-05; LocalTime
represents a time without a time zone, such as 14:30:45. These two classes are suitable for scenarios where time zones are not required to be considered.

-
Get the current date or time:
LocalDate today = LocalDate.now(); LocalTime now = LocalTime.now();
Create a specified date or time:
LocalDate date = LocalDate.of(2025, 4, 5); LocalTime time = LocalTime.of(14, 30, 45);
Common operations: Add or subtract days, months, etc.
LocalDate tomorrow = today.plusDays(1); LocalDate nextMonth = today.plusMonths(1);
Note: These objects are immutable and a new instance is returned for each operation.
LocalDateTime and ZonedDateTime: Combining date and time, supporting time zones
LocalDateTime
is a combination of LocalDate
and LocalTime
, but still does not contain time zone information. If you need to consider the time zone, use ZonedDateTime
.
Create
LocalDateTime
:LocalDateTime dateTime = LocalDateTime.of(2025, 4, 5, 14, 30);
Convert
LocalDateTime
to time with time zone:ZoneId zone = ZoneId.of("Asia/Shanghai"); ZonedDateTime zoned = dateTime.atZone(zone);
Get the current time with time zone:
ZonedDateTime nowInTokyo = ZonedDateTime.now(ZoneId.of("Asia/Tokyo"));
Time zone conversion is a common requirement, such as converting UTC time to local time:
ZonedDateTime utcTime = ZonedDateTime.now(ZoneOffset.UTC); ZonedDateTime localTime = utcTime.withZoneSameInstant(zone);
Duration and Period: Calculate the time difference
To calculate the interval between two time points, you can use Duration
(for time) and Period
(for date).
Calculate date differences using
Period
:LocalDate start = LocalDate.of(2025, 4, 1); LocalDate end = LocalDate.of(2025, 5, 10); Period period = Period.between(start, end); // Get 1 month and 9 days
Use
Duration
to calculate the time difference:LocalTime start = LocalTime.of(10, 0); LocalTime end = LocalTime.of(12, 30); Duration duration = Duration.between(start, end); // Get 9000 seconds
If you have two ZonedDateTime
, you can also use Duration
or ChronoUnit
to get the exact difference:
long hoursBetween = ChronoUnit.HOURS.between(zonedStart, zonedEnd);
Format and parsing: Convert strings and time to each other
Formatting output and parsing input are common operations in daily development. java.time
provides DateTimeFormatter
to complete this task.
Format date time:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String text = LocalDateTime.now().format(formatter);
Parsing the string as datetime:
String input = "2025-04-05 14:30:45"; LocalDateTime parsed = LocalDateTime.parse(input, formatter);
Note: The pattern string must be strictly consistent with the input format, otherwise an exception will be thrown. It is recommended to handle exceptions when parsing user input.
Basically that's it. java.time
is designed to be more intuitive. As long as you are familiar with several core classes and the conversion method between them, you can deal with most business scenarios.
The above is the detailed content of How to work with dates and times in Java 8 (java.time)?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to use MySQL's EXTRACT function to extract a specified part of a date and time. MySQL database is one of the most commonly used relational databases and is widely used in various types of applications. Date and time are common data types in databases, and it is often necessary to extract specific parts from date and time fields to meet business needs. In MySQL, you can use the EXTRACT function to extract a specified part from a datetime. This article will introduce how to use MySQL's EXTRACT function to extract date time

Golang time conversion: Tips for converting dates and times to each other. As the Go language continues to develop in various fields, the need to process dates and times is becoming more and more common. In the Go language, date and time conversion is a basic operation and a common requirement in development. This article will introduce how to convert date and time in Golang, and provide specific code examples to help developers better master this technique. Representation of date and time In Go language, date and time are represented by time.Time respectively.

PHP built-in functions provide a convenient way to handle dates and times. You can use these functions to create, format, and manipulate datetime values, for example: To create a datetime value: use the newDateTime() function. Format datetime values: use the format() method. Manipulate date and time values: use add(), sub(), setTimestamp() and other methods. Compare datetime values: Use comparison operators. Calculate the difference between dates: use the diff() method.

How to use the datetime module to obtain the current date and time in Python3.x In Python programming, the datetime module can be used to easily obtain the current date and time. The datetime module provides various functions and classes to handle dates, times, and intervals. In order to use the datetime module, you first need to import the module: importdatetime The way to get the current date and time is to use datetim in the datetime module

Introduction to formatting date and time using Java's String.format() function: In Java, we often need to format date and time to meet specific style requirements. Java provides multiple ways to format date and time, one of the commonly used ways is to use the String.format() function. This article will introduce how to use the String.format() function to format date and time and provide code examples. Code Example: Below is a simple example that demonstrates

PHP5.5 date and time processing: How to use the DateTime class for date and time operations In PHP development, processing date and time is a very common requirement. PHP5.5 introduces a very powerful date and time processing class-DateTime, which provides some convenient methods to manipulate dates and times. In this article, we will introduce how to use DateTime class for date time operations. Creating a DateTime object Instantiation of the DateTime class is very simple, just

Timestamp handling in PHP: How to convert timestamp to datetime using date function Timestamp is a common way used to represent dates and times. In PHP, we can use the built-in date function to convert the timestamp into an easy-to-read date and time format. This article will introduce how to use the date function to process timestamps and provide some sample code for reference. First, let's understand what a timestamp is. The timestamp refers to the time since January 1, 1970 00:00:00

Java8 is a very popular programming language and is widely used in many companies and projects. One of its most interesting new features is the DateTime API, which provides a completely new way to work with dates and times. However, there are also some problems during use, and Java8 date and time processing errors are one of them. This article will explore some common Java8 date and time processing errors and provide corresponding solutions and avoidance methods. Date formatting error Date formatting is a problem in Java8
