javabeginner
Java Date/Time API — Modern Operations
Work with LocalDate, LocalDateTime, ZonedDateTime, Duration, Period, and date formatting.
javaPress ⌘/Ctrl + Shift + C to copy
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.*;
import java.util.Locale;
public class DateTimeDemo {
public static void main(String[] args) {
// Current date/time
LocalDate today = LocalDate.now();
LocalDateTime now = LocalDateTime.now();
ZonedDateTime zoned = ZonedDateTime.now(ZoneId.of("America/New_York"));
// Create specific dates
LocalDate birthday = LocalDate.of(1990, Month.JUNE, 15);
LocalTime meetingTime = LocalTime.of(14, 30);
// Arithmetic
LocalDate nextWeek = today.plusWeeks(1);
LocalDate lastMonth = today.minusMonths(1);
LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
LocalDate nextFriday = today.with(TemporalAdjusters.next(DayOfWeek.FRIDAY));
// Duration (time-based) and Period (date-based)
Duration duration = Duration.between(LocalTime.of(9, 0), LocalTime.of(17, 30));
System.out.println("Work hours: " + duration.toHours() + "h " + duration.toMinutesPart() + "m");
Period age = Period.between(birthday, today);
System.out.printf("Age: %d years, %d months%n", age.getYears(), age.getMonths());
// Formatting
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("MMM dd, yyyy HH:mm");
System.out.println(now.format(fmt)); // Apr 14, 2026 10:30
DateTimeFormatter iso = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
System.out.println(now.format(iso)); // 2026-04-14T10:30:00
// Parsing
LocalDate parsed = LocalDate.parse("2026-01-15");
LocalDateTime parsedDt = LocalDateTime.parse("2026-01-15T10:30:00");
// Timezone conversion
ZonedDateTime nyTime = ZonedDateTime.now(ZoneId.of("America/New_York"));
ZonedDateTime tokyoTime = nyTime.withZoneSameInstant(ZoneId.of("Asia/Tokyo"));
System.out.printf("NY: %s → Tokyo: %s%n",
nyTime.format(fmt), tokyoTime.format(fmt));
// Check business day
boolean isWeekend = today.getDayOfWeek() == DayOfWeek.SATURDAY
|| today.getDayOfWeek() == DayOfWeek.SUNDAY;
System.out.println("Weekend: " + isWeekend);
}
}Use Cases
- Date arithmetic and business day calculations
- Timezone conversions for global applications
- Date formatting and parsing for APIs
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
javabeginner
Reverse a String in Java
Multiple ways to reverse a string in Java including StringBuilder, char array, and stream approaches.
Best for: String manipulation in coding interviews
#java#string
javabeginner
Try-With-Resources and AutoCloseable
Manage resources safely with try-with-resources: files, connections, streams, and custom resources.
Best for: Safe resource management preventing leaks
#java#resource-management
javabeginner
Java String Formatting and Templates
String formatting techniques: printf, format, MessageFormat, StringJoiner, and text block interpolation.
Best for: Formatted log messages and reports
#java#string
javabeginner
Read File Line by Line in Java
Read files using BufferedReader, Files.readAllLines, and Stream API with proper resource management.
Best for: Processing log files line by line
#java#file-io