1. Introduction
Java provides robust and flexible classes for working with dates and times, introduced in Java 8 as part of the java.time
package. These APIs overcome the limitations of the older Date
and Calendar
classes.
2. Key Date and Time Types
LocalDate
LocalDate
represents a date without a time zone, such as 2024-04-01.
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("Today's Date: " + today);
LocalDate specificDate = LocalDate.of(2024, 4, 1);
System.out.println("Specific Date: " + specificDate);
}
}
LocalTime
LocalTime
represents a time without a date, such as 14:30:45.
import java.time.LocalTime;
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime now = LocalTime.now();
System.out.println("Current Time: " + now);
}
}
Period
Period
represents a quantity of time in terms of years, months, and days.
import java.time.LocalDate;
import java.time.Period;
public class PeriodExample {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2023, 1, 1);
LocalDate endDate = LocalDate.of(2024, 4, 1);
Period period = Period.between(startDate, endDate);
System.out.println("Period: " + period.getYears() + " years, "
+ period.getMonths() + " months, "
+ period.getDays() + " days");
}
}
Duration
Duration
measures time in terms of seconds, minutes, hours, etc.
import java.time.Duration;
import java.time.LocalTime;
public class DurationExample {
public static void main(String[] args) {
LocalTime startTime = LocalTime.of(14, 0);
LocalTime endTime = LocalTime.of(16, 30);
Duration duration = Duration.between(startTime, endTime);
System.out.println("Duration: " + duration.toHours() + " hours, "
+ duration.toMinutesPart() + " minutes");
}
}
3. Calculations with Dates and Times
Java supports calculations with LocalDate
and LocalTime
using methods like plusDays()
, minusMonths()
, and more.
import java.time.LocalDate;
public class DateCalculations {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("Today: " + today);
LocalDate nextWeek = today.plusDays(7);
System.out.println("Next Week: " + nextWeek);
LocalDate lastMonth = today.minusMonths(1);
System.out.println("Last Month: " + lastMonth);
}
}
0 Comments