Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Các cách so sánh giá trị thời gian (Time) trong Java

Lớp LocalTime biểu diễn thời gian cục bộ (không có múi giờ). Lớp này cung cấp các phương thức isBefore(), isAfter() và isEqual() để so sánh hai thời gian.

Ví dụ 1: Sử dụng LocalTime (Java 8+ - Khuyến nghị)

import java.time.LocalTime;

public class Test {
    public static void main(String args[]) {
        LocalTime time1 = LocalTime.of(10, 15, 45);
        LocalTime time2 = LocalTime.of(07, 25, 55);

        Boolean bool1 = time1.isAfter(time2);
        Boolean bool2 = time1.isBefore(time2);

        if (bool1) {
            System.out.println(time1 + " là sau " + time2);
        } else if (bool2) {
            System.out.println(time1 + " là trước " + time2);
        } else {
            System.out.println(time1 + " bằng " + time2);
        }
    }
}

Kết quả

10:15:45 là sau 07:25:55

Ví dụ 2: Sử dụng SimpleDateFormat và Date (Legacy)

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class CreateDateTime {
    public static void main(String args[]) throws ParseException {
        String timeStr1 = "8:27:45 AM";
        String timeStr2 = "2:30:12 PM";

        SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:ss a");
        Date dateTime1 = formatter.parse(timeStr1);
        Date dateTime2 = formatter.parse(timeStr2);

        Boolean bool1 = dateTime1.after(dateTime2);
        Boolean bool2 = dateTime1.before(dateTime2);
        Boolean bool3 = dateTime1.equals(dateTime2);

        if (bool1) {
            System.out.println(timeStr1 + " là sau " + timeStr2);
        } else if (bool2) {
            System.out.println(timeStr1 + " là trước " + timeStr2);
        } else if (bool3) {
            System.out.println(timeStr1 + " bằng " + timeStr2);
        }
    }
}

Kết quả

8:27:45 AM là trước 2:30:12 PM