java.time.LocalDateTime
represents a date and time without a time zone. It is a combination of LocalDate
and LocalTime
.
Commonly Used Methods

Simple Program
import java.time.LocalDateTime; public class SimpleLocalDateTimeExample { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); LocalDateTime deadline = LocalDateTime.of(2025, 7, 20, 18, 0); System.out.println("Current date and time: " + now); System.out.println("Submission deadline: " + deadline); System.out.println("Is deadline after now? " + deadline.isAfter(now)); } }
Problem Statement
LotusJavaPrince and Mahesh are building a meeting reminder system for employees. Each reminder must be scheduled precisely with date and time. The system should:
- Take input for meeting date and time.
- Validate that the meeting is not in the past.
- If valid, schedule the meeting.
- If invalid, display a warning.
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Scanner; public class MeetingReminderSystem { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); // Current date-time LocalDateTime currentDateTime = LocalDateTime.now(); // Input date-time System.out.print("Enter meeting date and time (yyyy-MM-dd HH:mm): "); String input = scanner.nextLine(); try { LocalDateTime meetingTime = LocalDateTime.parse(input, formatter); System.out.println("Current time: " + currentDateTime.format(formatter)); System.out.println("Requested meeting time: " + meetingTime.format(formatter)); if (meetingTime.isBefore(currentDateTime)) { System.out.println("Error: Cannot schedule a meeting in the past."); } else { System.out.println("Meeting scheduled successfully."); } } catch (Exception e) { System.out.println("Invalid format. Please enter in 'yyyy-MM-dd HH:mm' format."); } scanner.close(); } } /* Enter meeting date and time (yyyy-MM-dd HH:mm): 2025-05-22 14:30 Current time: 2025-05-22 11:45 Requested meeting time: 2025-05-22 14:30 Meeting scheduled successfully. */
The LocalDateTime
class is a powerful tool when you need both date and time together, such as:
- Scheduling events
- Logging timestamps
- Creating calendar applications
- Managing time-sensitive records
However, it does not include time-zone information, making it unsuitable for representing exact moments in a global context. Use ZonedDateTime
if time zone matters.
LocalDateTime
offers seamless integration with DateTimeFormatter
, LocalDate
, and LocalTime
, making it ideal for most business-level scheduling and recordkeeping needs.