Hướng dẫn how to compare two time php? - làm thế nào để so sánh hai thời gian php?

Bí quyết để thao tác và so sánh ngày và thời gian trong PHP là lưu trữ các giá trị ngày/thời gian trong một biến số nguyên và sử dụng các hàm mktime [], date [] và strtotime []. Sự lặp lại số nguyên của một ngày/thời gian là số giây kể từ nửa đêm, 1970-Jan-1, được gọi là 'epoch'. Khi ngày/giờ của bạn ở dạng số nguyên, bạn sẽ có thể so sánh hiệu quả nó với các ngày khác cũng ở dạng số nguyên.

Tất nhiên vì rất có thể bạn sẽ nhận được các giá trị ngày/thời gian từ các yêu cầu trang và cơ sở dữ liệu chọn các truy vấn, bạn sẽ cần chuyển đổi chuỗi ngày/thời gian của mình thành một số nguyên trước khi bạn có thể thực hiện bất kỳ so sánh hoặc số học nào.

Giả sử bạn chắc chắn rằng các biến $ restTimeFrom và $ resttimeto chứa thời gian được định dạng đúng, bạn có thể sử dụng hàm strtotime [] để chuyển đổi thời gian chuỗi của bạn thành một số nguyên. strtotime [] lấy một chuỗi được định dạng là ngày và chuyển đổi nó thành số giây kể từ thời đại.

$time_from = strtotime[$resttimefrom];
$time_to = strtotime[$resttimeto];

Lưu ý bên: strtotime [] luôn trả về một ngày đầy đủ ở dạng số nguyên. Nếu chuỗi của bạn không có ngày, chỉ một thời gian, strtotime [] trở lại ngày hôm nay cùng với thời gian bạn đã đưa ra trong chuỗi. Tuy nhiên, điều này không quan trọng đối với bạn, bởi vì hai ngày được trả về bởi strtotime [] sẽ có cùng một ngày và so sánh hai biến sẽ có tác dụng mong muốn so sánh hai lần khi ngày hủy bỏ nhau.

Khi bạn so sánh hai số nguyên hãy nhớ rằng ngày/giờ càng sớm, giá trị nguyên của nó sẽ càng nhỏ. Vì vậy, nếu bạn muốn xem liệu $ time_from có ​​sớm hơn $ time_to hay không, bạn sẽ có cái này:

if [$time_from < $time_to]
{
    // $time_from is ealier than $time_to
}

Bây giờ để so sánh ngày/giờ với ngày/giờ hệ thống hiện tại, chỉ cần sử dụng mktime [] không có tham số để biểu thị ngày/thời gian hiện tại:

if [$time_from < mktime[]]
{
    // $time_from is in the past
}

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận If the given dates are in the same format then use a simple comparison operator to compare the dates.

    Example:

    $start = strtotime["12:00"]; $end = // Run query to get datetime value from db $elapsed = $end - $start; echo date["H:i", $elapsed]; ?>

    Làm thế nào ngày kiểm tra có thể ít hơn ngày hiện tại trong PHP?

    PHP $ date_now = Time [];// Thời gian hiện tại $ date_convert = strtotime ['2022-08-01'];if [$ date_now> $ date_convert] {echo 'lớn hơn';} khác {echo 'ít hơn';}?>if [$date_now > $date_convert] { echo 'greater than'; } else { echo 'Less than'; } ?>

    Bài Viết Liên Quan

    Chủ Đề