Làm cách nào để phân biệt hai ngày trong PHP?
Tuy nhiên, nếu chúng ta muốn tính số giây chính xác đã trôi qua giữa ngày một và ngày hai thì sao? Show
//Our dates $date1 = "2013-03-01 19:12:45"; $date2 = "2014-03-01 06:37:04"; //Convert them to timestamps. $date1Timestamp = strtotime($date1); $date2Timestamp = strtotime($date2); //Calculate the difference. $difference = $date2Timestamp - $date1Timestamp; echo $difference; Nếu bạn chạy đoạn mã trên, bạn sẽ thấy câu trả lời là 31490659 Nói cách khác, 31.490.659 giây đã trôi qua giữa “2013-03-01 19. 12. 45” và “2014-03-01 06. 37. 04” Một lời giải thích cơ bản về những gì chúng tôi đã làm
Nhớ. Ngày càng cũ, dấu thời gian của nó sẽ càng nhỏ Nếu bạn chạy đoạn mã sau, bạn sẽ thấy rằng ngày 2014 có dấu thời gian unix lớn hơn nhiều $olderDate = "1991-01-02"; $newerDate = "2014-06-07"; echo $olderDate . " is " . strtotime($olderDate), " Như bạn có thể thấy, “2014-06-07” có dấu thời gian lớn hơn Điều này là do nhiều giây đã trôi qua kể từ ngày 1 tháng 1 năm 1971 và ngày 7 tháng 6 năm 2014 Sự khác biệt giữa bây giờ và sau đóTrong một số trường hợp nhất định, bạn có thể cần tính số giây đã trôi qua kể từ một ngày nhất định Nói cách khác, bao nhiêu thời gian đã trôi qua giữa “bây giờ” và “sau đó”? //Our dates and times. $then = "2011-02-02 08:00:00"; $now = time(); //convert $then into a timestamp. $thenTimestamp = strtotime($then); //Get the difference in seconds. $difference = $now - $thenTimestamp; echo $difference; Một lời giải thích của mã này
Nếu bạn làm mới trang một vài lần, bạn sẽ thấy rằng sự khác biệt về số giây tiếp tục tăng lên phút và ngàyTrong nhiều trường hợp, bạn sẽ muốn xem số ngày hoặc số phút đã trôi qua Điều này là do giây là vô dụng đối với người dùng cuối Để tính số ngày đã trôi qua, bạn có thể làm như sau //Our "then" date. $then = "2009-02-04"; //Convert it into a timestamp. $then = strtotime($then); //Get the current timestamp. $now = time(); //Calculate the difference. $difference = $now - $then; //Convert seconds into days. $days = floor($difference / (60*60*24) ); echo $days; Như bạn có thể thấy, chúng tôi có thể chuyển đổi giây thành ngày bằng cách sử dụng một số phép toán cơ bản
Nếu bạn nhân các số liệu trên, nó sẽ cho bạn 86400, là tổng số giây trong một ngày Nếu bạn chia chênh lệch tính bằng giây giữa hai ngày của chúng ta cho 86.400, bạn sẽ nhận được tổng số ngày đã trôi qua Sau đó, bạn có thể sử dụng hàm sàn để làm tròn kết quả xuống. Nói cách khác, 2. 9 ngày nên trở thành 2 ngày Để có được số phút, bạn chỉ cần chia chênh lệch tính bằng giây cho 60 //Our "then" date. $then = "2009-02-04"; //Convert it into a timestamp. $then = strtotime($then); //Get the current timestamp. $now = time(); //Calculate the difference. $difference = $now - $then; //Convert seconds into minutes. $minutes = floor($difference / 60); echo $minutes; Như bạn có thể thấy, hầu hết các tính toán này thực sự khá đơn giản Sử dụng DateTime để tính chênh lệchKhi bạn hiểu những kiến thức cơ bản về xử lý ngày tháng và dấu thời gian trong PHP, bạn có thể sử dụng đối tượng DateTime Sử dụng DateTime là một giải pháp tốt hơn đơn giản vì nó sạch hơn và cung cấp cho bạn giao diện OO Ví dụ: nếu chúng ta muốn lấy sự khác biệt về số ngày bằng cách sử dụng đối tượng DateTime, chúng ta có thể làm như sau 1. Sử dụng lớp PHP DateTime để tính toán sự khác biệt giữa hai ngày-thời gian. Phương thức diff() của lớp DateTime tạo đối tượng DateInterval tính toán sự khác biệt giữa hai đối tượng ngày/giờ theo thời gian (tổng số ngày, năm, tháng, ngày, giờ, phút, giây, v.v. ) $datetime_1 = '2022-04-10 11:15:30'; Tính toán và nhận chênh lệch thời gian tính bằng phút $total_minutes = ($diff->days * 24 * 60); 2. Bạn có thể sử dụng hàm strtotime() để lấy chênh lệch thời gian giữa hai ngày (DateTimes) tính bằng phút bằng PHP Làm cách nào để có được sự khác biệt của hai ngày trong PHP?Hàm date_diff() là một hàm có sẵn trong PHP được sử dụng để tính toán sự khác biệt giữa hai ngày. Hàm này trả về một đối tượng DateInterval nếu thành công và trả về FALSE nếu thất bại.
Làm cách nào để có chênh lệch tháng giữa hai ngày trong PHP?php $sdate = "1981-11-04";
Làm cách nào để tìm sự khác biệt giữa hai ngày tính bằng phút trong PHP?$start = date_create('2015-01-26 12. 01. 00'); . 15. 00'); . $diff=date_diff($end,$start); print_r($diff); You get results what do you want.
Làm cách nào tôi có thể so sánh ngày hôm nay với một ngày khác trong PHP?chúng ta có thể phân tích ngày bằng toán tử so sánh đơn giản nếu ngày đã cho có định dạng tương tự. ? php $date1 = "24-11-2018"; |