Hôm nay trong bài đăng này, chúng ta sẽ xem cách tính toán và sau đó lấy chênh lệch thời gian giữa hai thời điểm trong PHP Show Bạn có thể nhận thấy trên mạng truyền thông xã hội như Facebook hiển thị một bài đăng được xuất bản “1 giờ trước” hoặc “2 phút trước” hoặc đại loại như thế. Trong trường hợp đó, nó cũng thực sự đang tính chênh lệch múi giờ. bây giờ tôi sẽ xem cách dễ nhất để nhận chênh lệch múi giờ trong PHP Hãy theo tôi… Lấy sự khác biệt giữa hai lần là một nhiệm vụ khá dễ dàng. PHP đã có sẵn lớp DateTime có thể làm điều đó Dưới đây là một ví dụ mà chúng tôi đã lấy hai chuỗi ngày thời gian và hiển thị nó $time1 = new DateTime('2017-01-23 18:16:25'); $time2 = new DateTime('2019-01-23 11:36:28'); $timediff = $time1->diff($time2); echo $timediff->format('%y year %m month %d days %h hour %i minute %s second')."<br/>"; Đoạn mã PHP trên sẽ in kết quả mà chúng ta có thể thấy bên dưới 1 year 11 month 30 days 17 hour 20 minute 3 second Bạn cũng có thể in riêng giây, phút, giờ, ngày, tháng và năm chỉ bằng cách gọi các phương thức like từ lớp DateTime echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";
Ngoài ra, đọc
Nhận chênh lệch múi giờ với thời gian hiện tạiBây giờ nếu chúng ta muốn lấy sự khác biệt về thời gian giữa thời gian hiện tại và thời gian trước đó, thì chúng ta chỉ cần đặt đối tượng DateTime hiện tại là “new DateTime()” như bên dưới $time = new DateTime('2018-01-23 18:16:25'); $timediff = $time->diff(new DateTime()); echo $timediff->format('%y year %m month %d days %h hour %i minute %s second')."<br/>"; Đầu ra sẽ giống như bạn có thể thấy bên dưới tùy thuộc vào thời gian hiện tại 1 year 0 month 12 days 23 hour 28 minute 22 second
Vậy là chúng ta đã tính thành công chênh lệch giữa hai thời điểm hoặc ngày tháng. Tôi hy vọng bạn đã hiểu 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 để tính tổng thời gian của một mảng trong PHP? Cải thiện bài viết Lưu bài viết Thích bài viết
Cải thiện bài viết Lưu bài viết Cho một mảng chứa thời gian tính bằng giờ. tối thiểu. định dạng giây. Nhiệm vụ là tính tổng thời gian. Nếu tổng thời gian lớn hơn 24 giờ thì tổng thời gian sẽ không bắt đầu bằng 0. Nó sẽ hiển thị tổng thời gian. Có hai cách để tính tổng thời gian từ mảng.
Sử dụng hàm strtotime(). Hàm strtotime() được sử dụng để chuyển đổi chuỗi thành định dạng thời gian. Hàm này trả về thời gian tính bằng h. m. định dạng s. strtotime( string ) Ví dụ 1. Ví dụ này đọc các giá trị từ mảng và chuyển đổi nó thành định dạng thời gian. php1 year 11 month 30 days 17 hour 20 minute 3 second25
1 year 11 month 30 days 17 hour 20 minute 3 second26 1 year 11 month 30 days 17 hour 20 minute 3 second27 1 year 11 month 30 days 17 hour 20 minute 3 second28 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second30 23:17:390 23:17:391 23:17:390 23:17:393 23:17:390 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:396 23:17:390 23:17:398 23:17:390 1 year 11 month 30 days 17 hour 20 minute 3 second70 23:17:390 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second73 1 year 11 month 30 days 17 hour 20 minute 3 second74
1 year 11 month 30 days 17 hour 20 minute 3 second75 1 year 11 month 30 days 17 hour 20 minute 3 second76 1 year 11 month 30 days 17 hour 20 minute 3 second77 1 year 11 month 30 days 17 hour 20 minute 3 second78 1 year 11 month 30 days 17 hour 20 minute 3 second79 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";60
echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";61 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";62
echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";63 1 year 11 month 30 days 17 hour 20 minute 3 second78 1 year 11 month 30 days 17 hour 20 minute 3 second27 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";66 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";67 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";68 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second251 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second253 1 year 11 month 30 days 17 hour 20 minute 3 second76_______177 1 year 11 month 30 days 17 hour 20 minute 3 second78 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";67____1258 1 year 11 month 30 days 17 hour 20 minute 3 second75 1 year 11 month 30 days 17 hour 20 minute 3 second260 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second263 1 year 11 month 30 days 17 hour 20 minute 3 second29 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";61 1 year 11 month 30 days 17 hour 20 minute 3 second76 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";61 1 year 11 month 30 days 17 hour 20 minute 3 second268 1 year 11 month 30 days 17 hour 20 minute 3 second253 1 year 11 month 30 days 17 hour 20 minute 3 second260 1 year 11 month 30 days 17 hour 20 minute 3 second271
1 year 11 month 30 days 17 hour 20 minute 3 second272 1 year 11 month 30 days 17 hour 20 minute 3 second273
1 year 11 month 30 days 17 hour 20 minute 3 second274 1 year 11 month 30 days 17 hour 20 minute 3 second275 1 year 11 month 30 days 17 hour 20 minute 3 second276 1 year 11 month 30 days 17 hour 20 minute 3 second76____1278 1 year 11 month 30 days 17 hour 20 minute 3 second78 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";61 1 year 11 month 30 days 17 hour 20 minute 3 second281
echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";61 1 year 11 month 30 days 17 hour 20 minute 3 second76______261 1 year 11 month 30 days 17 hour 20 minute 3 second285 1 year 11 month 30 days 17 hour 20 minute 3 second276 1 year 11 month 30 days 17 hour 20 minute 3 second287
1 year 11 month 30 days 17 hour 20 minute 3 second288 1 year 11 month 30 days 17 hour 20 minute 3 second289 1 year 11 month 30 days 17 hour 20 minute 3 second290 1 year 11 month 30 days 17 hour 20 minute 3 second76____1278 1 year 11 month 30 days 17 hour 20 minute 3 second78 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";61 1 year 11 month 30 days 17 hour 20 minute 3 second295
1 year 11 month 30 days 17 hour 20 minute 3 second296 1 year 11 month 30 days 17 hour 20 minute 3 second297 1 year 11 month 30 days 17 hour 20 minute 3 second76____261 1 year 11 month 30 days 17 hour 20 minute 3 second285 1 year 11 month 30 days 17 hour 20 minute 3 second290 1 year 11 month 30 days 17 hour 20 minute 3 second302
1 year 11 month 30 days 17 hour 20 minute 3 second303 1 year 11 month 30 days 17 hour 20 minute 3 second304 1 year 11 month 30 days 17 hour 20 minute 3 second305 1 year 11 month 30 days 17 hour 20 minute 3 second276 1 year 11 month 30 days 17 hour 20 minute 3 second307 1 year 11 month 30 days 17 hour 20 minute 3 second290 1 year 11 month 30 days 17 hour 20 minute 3 second307 1 year 11 month 30 days 17 hour 20 minute 3 second297 23:17:3901
23:17:3902 đầu ra. ________số 8
Sử dụng hàm phát nổ(). Hàm phát nổ () được sử dụng để ngắt một chuỗi thành một mảng. 1 year 11 month 30 days 17 hour 20 minute 3 second7 Ví dụ 2. Ví dụ này đọc các giá trị từ một mảng và chuyển đổi nó thành định dạng thời gian. php1 year 11 month 30 days 17 hour 20 minute 3 second25
23:17:3904 23:17:3905 1 year 11 month 30 days 17 hour 20 minute 3 second28 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second30 23:17:390 23:17:391 23:17:390 23:17:393 23:17:390 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:396 23:17:390 23:17:398 23:17:390 23:17:3919 23:17:390 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second73 1 year 11 month 30 days 17 hour 20 minute 3 second74
23:17:3924 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";62
23:17:3926 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";63 1 year 11 month 30 days 17 hour 20 minute 3 second78 23:17:3905 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";66 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";67 23:17:3932 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second29____835 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3937 1 year 11 month 30 days 17 hour 20 minute 3 second76____839 23:17:3940 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";67 echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";60 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3945 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3947 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3924____850 23:17:3937 23:17:3952 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3955 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3947 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3924____850 23:17:3937 23:17:3962 1 year 11 month 30 days 17 hour 20 minute 3 second29 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3965 1 year 11 month 30 days 17 hour 20 minute 3 second29 23:17:3924____850 23:17:3937 23:17:3970 _______871____1260
23:17:3973 23:17:3974 23:17:3975 23:17:3976 23:17:390 23:17:3978 1 year 11 month 30 days 17 hour 20 minute 3 second78 23:17:3924 23:17:3981 23:17:3978 1 year 11 month 30 days 17 hour 20 minute 3 second78 23:17:3924 23:17:3985 ________ 878 ________ 824 ________ 888
1 year 11 month 30 days 17 hour 20 minute 3 second304 23:17:3974 1 year 11 month 30 days 17 hour 20 minute 3 second260
23:17:3902 đầu ra. echo $timediff->s."<br/>"; echo $timediff->i."<br/>"; echo $timediff->h."<br/>"; echo $timediff->d."<br/>"; echo $timediff->m."<br/>"; echo $timediff->y."<br/>";6
Ghi chú cá nhân của tôi arrow_drop_up Tiết kiệm Vui lòng Đăng nhập để nhận xét.Làm cách nào để tính thời gian giờ và phút trong php?$dateDiff = intval((strtotime($date1)-strtotime($date2))/60); . and there you go...
Làm cách nào để tính khoảng thời gian trong php?php function timeDiff($firstTime,$lastTime) { // chuyển đổi sang dấu thời gian unix $firstTime=strtotime($firstTime); . tiếng vang timeDiff("2002
Cách tính giờ làm việc trong php?Hàm PHP để tính chênh lệch số giờ
Làm cách nào để tính thời gian giữa hai lần trong php?php $time1 = strtotime('08. 00. 00'); . 30. 00'); . Đoạn mã trên sẽ làm tròn thành phút. Lưu câu trả lời này. Note: The code above will round to minutes. Save this answer. |