Hướng dẫn how can i compare two time in php? - làm thế nào tôi có thể so sánh hai thời gian trong 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:

    Cho hai ngày (ngày 1 và ngày 2) và nhiệm vụ là so sánh các ngày đã cho. So sánh hai ngày trong PHP rất đơn giản khi cả hai ngày ở cùng định dạng nhưng vấn đề phát sinh khi cả hai ngày ở một định dạng khác nhau.

    Phương pháp 1: Nếu các ngày đã cho ở cùng định dạng thì sử dụng toán tử so sánh đơn giản để so sánh các ngày.

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    5
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    6$date1
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    8
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    0

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    2
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    3
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    0

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    5

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    2
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    8
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    0

    1998-11-24 is latest than 1997-03-26
    
    0

    Output:

    1998-11-24 is latest than 1997-03-26
    

    Phương pháp 3: Sử dụng lớp DateTime để so sánh hai ngày. If both of the given dates are in different formats then use strtotime() function to convert the given dates into the corresponding timestamp format and lastly compare these numerical timestamps to get the desired result.

    Example:

    $date1 = $date11 $date12$date13

    12-03-26 is latest than 2011-10-24
    
    5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1 = $date11 $date12$date19
    12-03-26 is latest than 2011-10-24
    
    5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    5
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    6$date1
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    8
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    0

    12-03-26 is latest than 2011-10-24
    
    0 =
    12-03-26 is latest than 2011-10-24
    
    2
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    6____________
    12-03-26 is latest than 2011-10-24
    
    5

    12-03-26 is latest than 2011-10-24
    
    6 =
    12-03-26 is latest than 2011-10-24
    
    2
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    6
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1
    12-03-26 is latest than 2011-10-24
    
    5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    5
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    6
    12-03-26 is latest than 2011-10-24
    
    0
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    8
    12-03-26 is latest than 2011-10-24
    
    6
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    0

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    2
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    3
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    0

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    5

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    2
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    8
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    0

    1998-11-24 is latest than 1997-03-26
    
    0

    Output:

    12-03-26 is latest than 2011-10-24
    

    Phương pháp 3: Sử dụng lớp DateTime để so sánh hai ngày. Using DateTime class to compare two dates.

    Example:

    $date1 = $date11 $date12$date13

    12-03-26 is latest than 2011-10-24
    
    5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1 = $date11 $date12$date19
    12-03-26 is latest than 2011-10-24
    
    5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    5
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    6$date1
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    8
    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    0

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    2 $date1"1998-11-24"0"1998-11-24"1"1998-11-24"2

    "1998-11-24"4"1998-11-24"5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1"1998-11-24"0"1998-11-24"1
    12-03-26 is latest than 2011-10-24
    
    5

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    5

    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    1
    if ($time_from < mktime())
    {
        // $time_from is in the past
    }
    
    2 ________ 7 ________ 90 ________ 91 ________ 92 ________ 107 & nbsp;

    "1998-11-24"4"1998-11-24"5

    if ($time_from < $time_to)
    {
        // $time_from is ealier than $time_to
    }
    
    1"1998-11-24"0"1998-11-24"1
    12-03-26 is latest than 2011-10-24
    
    5

    1998-11-24 is latest than 1997-03-26
    
    0

    Output:

    2012-11-24 is latest than 2011-03-26
    

    PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo hướng dẫn PHP và các ví dụ PHP này.


    Làm thế nào để bạn so sánh hai chuỗi thời gian?

    Sử dụng so sánh chuỗi để so sánh hai chuỗi thời gian, được định dạng là HH: mm: SS, ví dụ: if (Time1> Time2) {}. Các chuỗi thời gian được định dạng là HH: MM: SS và dựa trên đồng hồ 24 giờ, hành vi mặc định để so sánh chuỗi là đủ. . The time strings are formatted as hh:mm:ss and are based on a 24 hour clock, the default behavior for string comparison is sufficient.

    Làm thế nào tôi có thể so sánh ngày hôm nay với một ngày khác trong PHP?

    Khi bạn đã tạo các đối tượng DateTime của mình, bạn cũng có thể gọi phương thức diff () trên một đối tượng và chuyển nó vào ngày khác để tính toán chênh lệch giữa các ngày.Điều này sẽ cung cấp cho bạn một đối tượng DateInterval.$ last = new DateTime ("25 tháng 12 năm 2020");call the diff() method on one object and pass it the other date in order to calculate the difference between the dates. This will give you back a DateInterval object. $last = new DateTime( "25 Dec 2020" );

    Việc sử dụng hàm strtotime trong PHP là gì?

    Hàm strtotime () là một hàm tích hợp trong PHP được sử dụng để chuyển đổi mô tả thời gian hẹn hò bằng văn bản tiếng Anh thành dấu thời gian UNIX.Hàm chấp nhận một tham số chuỗi bằng tiếng Anh đại diện cho mô tả về thời gian ngày.Ví dụ, ngay bây giờ, ngay bây giờ, đề cập đến ngày hiện tại trong mô tả thời gian tiếng Anh.to convert an English textual date-time description to a UNIX timestamp. The function accepts a string parameter in English which represents the description of date-time. For e.g., “now” refers to the current date in English date-time description.

    Làm thế nào tôi có thể kiểm tra xem một ngày có lớn hơn hôm nay trong PHP không?

    Kiểm tra PHP nếu ngày lớn hơn so với ngày hôm nay..
    $ date_now = new DateTime () ;.
    $ date2 = new DateTime ("01/02/2016") ;.
    if ($ date_now> $ date2) {.
    echo 'lớn hơn' ;.
    }else{.
    Echo 'ít hơn' ;.