Hướng dẫn how can i compare two dates in if condition in php? - làm thế nào tôi có thể so sánh hai ngày trong điều kiện if trong php?

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:

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

    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.

    12-03-26 is latest than 2011-10-24
    
    2
    12-03-26 is latest than 2011-10-24
    
    3
    12-03-26 is latest than 2011-10-24
    
    4
    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
    
    3
    12-03-26 is latest than 2011-10-24
    
    8
    12-03-26 is latest than 2011-10-24
    
    5

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    0

    2012-11-24 is latest than 2011-03-26
    
    0
    2012-11-24 is latest than 2011-03-26
    
    1
    12-03-26 is latest than 2011-10-24
    
    2
    2012-11-24 is latest than 2011-03-26
    
    3
    12-03-26 is latest than 2011-10-24
    
    6
    2012-11-24 is latest than 2011-03-26
    
    5

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    5

    Output:

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

    2012-11-24 is latest than 2011-03-26
    
    6
    2012-11-24 is latest than 2011-03-26
    
    7
    2012-11-24 is latest than 2011-03-26
    
    8
    12-03-26 is latest than 2011-10-24
    
    5
    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:

    2012-11-24 is latest than 2011-03-26
    
    6
    2012-11-24 is latest than 2011-03-26
    
    7
    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    3
    12-03-26 is latest than 2011-10-24
    
    5

    Phương pháp 2: Nếu cả hai ngày đã cho ở các định dạng khác nhau thì hãy sử dụng hàm strtotime () để chuyển đổi các ngày đã cho thành định dạng dấu thời gian tương ứng và cuối cùng so sánh các dấu thời gian số này để có kết quả mong muốn.

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

    12-03-26 is latest than 2011-10-24
    
    2
    12-03-26 is latest than 2011-10-24
    
    3
    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    9
    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
    
    3
    Date 2020-05-01 is grater then 2020-01-01
    
    3
    12-03-26 is latest than 2011-10-24
    
    5

    Date 2020-05-01 is grater then 2020-01-01
    
    5
    12-03-26 is latest than 2011-10-24
    
    3
    Date 2020-05-01 is grater then 2020-01-01
    
    7
    2012-11-24 is latest than 2011-03-26
    
    1
    12-03-26 is latest than 2011-10-24
    
    2
    // Compare dates with different formats.
    $date1   =   '2020-01-01';
    $date2   =   '05-01-2020';
    if(strtotime($date2)>strtotime($date1)){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    
    0

    12-03-26 is latest than 2011-10-24
    
    6
    12-03-26 is latest than 2011-10-24
    
    3
    12-03-26 is latest than 2011-10-24
    
    8
    12-03-26 is latest than 2011-10-24
    
    5

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    0

    2012-11-24 is latest than 2011-03-26
    
    0
    2012-11-24 is latest than 2011-03-26
    
    1
    12-03-26 is latest than 2011-10-24
    
    2
    2012-11-24 is latest than 2011-03-26
    
    3
    12-03-26 is latest than 2011-10-24
    
    6
    2012-11-24 is latest than 2011-03-26
    
    5

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    5

    Output:

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

    2012-11-24 is latest than 2011-03-26
    
    6
    2012-11-24 is latest than 2011-03-26
    
    7
    2012-11-24 is latest than 2011-03-26
    
    8
    12-03-26 is latest than 2011-10-24
    
    5
    Using DateTime class to compare two dates.

    Example:

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

    2012-11-24 is latest than 2011-03-26
    
    6
    2012-11-24 is latest than 2011-03-26
    
    7
    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    3
    12-03-26 is latest than 2011-10-24
    
    5

    Phương pháp 2: Nếu cả hai ngày đã cho ở các định dạng khác nhau thì hãy sử dụng hàm strtotime () để chuyển đổi các ngày đã cho thành định dạng dấu thời gian tương ứng và cuối cùng so sánh các dấu thời gian số này để có kết quả mong muốn.

    12-03-26 is latest than 2011-10-24
    
    2
    12-03-26 is latest than 2011-10-24
    
    3
    12-03-26 is latest than 2011-10-24
    
    4
    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
    
    3
    12-03-26 is latest than 2011-10-24
    
    8
    12-03-26 is latest than 2011-10-24
    
    5

    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");
    9
    12-03-26 is latest than 2011-10-24
    
    00
    12-03-26 is latest than 2011-10-24
    
    6
    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");
    5
    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");
    6
    // Compare dates with different formats.
    $date1   =   '2020-01-01';
    $date2   =   '05-01-2020';
    if(strtotime($date2)>strtotime($date1)){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    
    0

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    0

    2012-11-24 is latest than 2011-03-26
    
    0
    2012-11-24 is latest than 2011-03-26
    
    1
    12-03-26 is latest than 2011-10-24
    
    2
    2012-11-24 is latest than 2011-03-26
    
    3
    12-03-26 is latest than 2011-10-24
    
    6
    2012-11-24 is latest than 2011-03-26
    
    5

    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");
    9
    12-03-26 is latest than 2011-10-24
    
    00
    12-03-26 is latest than 2011-10-24
    
    6
    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");
    5
    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");
    6
    // Compare dates with different formats.
    $date1   =   '2020-01-01';
    $date2   =   '05-01-2020';
    if(strtotime($date2)>strtotime($date1)){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    
    0

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    
    5

    Output:

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

    2012-11-24 is latest than 2011-03-26
    
    6
    2012-11-24 is latest than 2011-03-26
    
    7
    2012-11-24 is latest than 2011-03-26
    
    8
    12-03-26 is latest than 2011-10-24
    
    5



    • 3 năm trước
    • Zaid Bin Khalid
    • 21704 lượt xem
    • 6

    Trong hướng dẫn này, tôi sẽ giải thích cho bạn cách bạn có thể so sánh hai ngày trong PHP. So sánh hai ngày trong PHP rất đơn giản nếu cả hai ngày có cùng định dạng nhưng vấn đề khi ngày 1 và ngày2 đều có các định dạng khác nhau.date1 and date2 both have different formats.

    Phương pháp đầu tiên

    Khi cả hai ngày có cùng định dạng thì bạn có thể so sánh cả hai ngày như dưới đây.

    $date1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    ?>
    

    Đầu ra mã trên sẽ là:

    Date 2020-05-01 is grater then 2020-01-01
    

    Nếu cả hai ngày có định dạng khác nhau thì có một vấn đề bạn không thể so sánh cả hai ngày trực tiếp như mã trên. Nhưng PHP cung cấp cho bạn một phạm vi rộng để giải quyết vấn đề này. Bạn cũng có thể thay đổi định dạng ngày trước và sau đó so sánh các ngày như trên để tìm hiểu cách thay đổi định dạng ngày Đọc Cách thay đổi định dạng ngày trong PHP.

    Phương pháp thứ hai:

    // Compare dates with different formats.
    $date1   =   '2020-01-01';
    $date2   =   '05-01-2020';
    if(strtotime($date2)>strtotime($date1)){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    

    Đầu ra mã trên sẽ là:

    Date 05-01-2020 is grater then 2020-01-01
    

    Có một cách đơn giản khác trong PHP mà bạn có thể sử dụng để so sánh hai ngày, tức là DateTime () một lớp PHP mặc định hoặc tích hợp. Phương pháp này cũng độc lập với bất kỳ định dạng ngày nào.Datetime() a default or built-in PHP class. This method is also independent of any date format.

    Phương pháp thứ ba:

    $date1   =   '2020-01-01';
    $date2   =   '05/01/2020';
    
    $d1 = new DateTime($date1);
    $d2 = new DateTime($date2); // Can use date/string just like strtotime.
    if($d2>$d1){
    	echo 'Date '.$date2.' is grater then '.$date1;
    }
    

    Đầu ra mã trên sẽ là:

    Date 05/01/2020 is grater then 2020-01-01
    

    Nếu cả hai ngày có định dạng khác nhau thì có một vấn đề bạn không thể so sánh cả hai ngày trực tiếp như mã trên. Nhưng PHP cung cấp cho bạn một phạm vi rộng để giải quyết vấn đề này. Bạn cũng có thể thay đổi định dạng ngày trước và sau đó so sánh các ngày như trên để tìm hiểu cách thay đổi định dạng ngày Đọc Cách thay đổi định dạng ngày trong PHP.date_diff() class it is also a PHP built-in class. With this class or method, you can get a total of many objects of two dates. If the days different is negative then the second date is less then the first one.

    Phương pháp thứ hai:

    $date1	=	"2020-01-01";
    $date2	=	"2020-01-05";
    
    $d1		=	date_create("2020-01-01");
    $d2		=	date_create("2020-01-05");
    $diff	=	date_diff($d1,$d2);
    
    print"
    ";
    print_r($diff);
    print"
    "; if($diff->invert=="0"){ echo 'Date '.$date2.' is grater then '.$date1; } //To get days //$diff->format("%R%a days");

    Đầu ra mã trên sẽ là:

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

    Có một cách đơn giản khác trong PHP mà bạn có thể sử dụng để so sánh hai ngày, tức là DateTime () một lớp PHP mặc định hoặc tích hợp. Phương pháp này cũng độc lập với bất kỳ định dạng ngày nào.

    • 3 năm trước
    • Zaid Bin Khalid
    • 21704 lượt xem
    • 6


    Làm thế nào để bạn so sánh hai ngày trong điều kiện nếu điều kiện?

    So sánh ngày nếu lớn hơn một ngày khác với công thức 2. Chọn một ô trống tương ứng với ô ngày đầu tiên trong cột ngày như G2. Sau đó sao chép và dán công thức = if (a2> $ f $ 2, "có", "không") vào thanh công thức và nhấn phím enter.=IF(A2>$F$2, "YES", "NO") into the Formula Bar and press the Enter key.

    Làm thế nào tôi có thể so sánh hai ngày trong PHP?

    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.echo "$ date1 lớn hơn $ ngày2";?>use a simple comparison operator to compare the dates. echo "$date1 is older than $date2" ; ?>

    Làm thế nào có thể kiểm tra nếu điều kiện tính theo ngày trong PHP?

    Làm thế nào để so sánh hai ngày trong điều kiện trong câu trả lời mã PHP..
    $ hôm nay = ngày ("y-m-d") ;.
    $ hết hạn = $ hàng-> hết hạn;// từ cơ sở dữ liệu ..
    $ TODAY_TIME = Strtotime ($ ngay hôm nay) ;.
    $ expire_time = strtotime ($ expire) ;.
    if ($ expire_time <$ Today_time) { / * làm điều gì đó * /}.

    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?

    PHP $ date1 = "2010-01-15";$ date2 = "2020-12-14";$ Timestamp1 = Strtotime ($ date1);$ Timestamp2 = Strtotime ($ date2);if ($ Timestamp1> $ Timestamp2) echo "$ date1 lớn hơn $ ngày2";other echo "$ date1 là ít hơn $ date2";?>if ($timestamp1 > $timestamp2) echo "$date1 is greater than $date2"; else echo "$date1 is less than $date2"; ?>