Hướng dẫn how to compare two times in php? - làm thế nào để so sánh hai lần 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
}

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

Lưu bài viết

  • Đọc
  • Bàn 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:

    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

    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;
    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:

    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 để so sánh hai PHP thời gian?

    Để so sánh hai ngày đó, chúng tôi sử dụng phương thức Diff () của đối tượng DateTime đầu tiên với đối tượng DateTime thứ hai làm đối số. Phương thức DIFF () sẽ trả về một đối tượng mới thuộc loại DateInterVal.

    Làm thế nào để bạn kiểm tra xem một ngày là giữa hai ngày trong PHP?

    Hàm datediffindays ($ date1, $ date2) {$ diff = strtotime ($ date2) - strtotime ($ date1); trả về abs (vòng ($ diff / 86400)); } // Ngày bắt đầu $ date1 = "2021-03-01 04:03:00"; // kết thúc ngày $ ngày2 = ngày ('y-m-d'); $ datediff = datediffindays ($ date1, $ date2);

    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 để so sánh hai PHP thời gian?

    Để so sánh hai ngày đó, chúng tôi sử dụng phương thức Diff () của đối tượng DateTime đầu tiên với đối tượng DateTime thứ hai làm đối số. Phương thức DIFF () sẽ trả về một đối tượng mới thuộc loại DateInterVal.use the method diff() of the first DateTime object with the second DateTime object as argument. The diff() method will return a new object of type DateInterval .

    Làm thế nào để bạn kiểm tra xem một ngày là giữa hai ngày trong PHP?

    Hàm datediffindays ($ date1, $ date2) {$ diff = strtotime ($ date2) - strtotime ($ date1);trả về abs (vòng ($ diff / 86400));} // Ngày bắt đầu $ date1 = "2021-03-01 04:03:00";// kết thúc ngày $ ngày2 = ngày ('y-m-d');$ datediff = datediffindays ($ date1, $ date2); // Start date $date1 = "2021-03-01 04:03:00"; // End date $date2 = date('Y-m-d'); $dateDiff = dateDiffInDays($date1, $date2);

    Làm thế nào để bạn kiểm tra xem một ngày lớn hơn một ngày khác trong PHP?

    Làm thế nào tôi có thể kiểm tra xem một ngày có lớn hơn ngày hôm nay trong PHP không ?..
    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
    $ date_now = new DateTime () ;.
    $ date2 = new DateTime ("01/02/2016") ;.
    if ($ date_now> $ date2) {.
    echo 'lớn hơn' ;.
    }else{.
    Echo 'ít hơn' ;.

    Làm thế nào tôi có thể nhận được số ngày giữa hai ngày đã cho trong PHP?

    Hàm date_diff () là một hàm sẵn có trong PHP được sử dụng để tính toán chênh lệch giữa hai ngày.Hàm này trả về một đối tượng DateInterval về thành công và trả về sai khi thất bại.date_diff() function is an inbuilt function in PHP that is used to calculate the difference between two dates. This function returns a DateInterval object on the success and returns FALSE on failure.