PHP tính chênh lệch thời gian

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

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']."
";

Đ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."
"; echo $timediff->i."
"; echo $timediff->h."
"; echo $timediff->d."
"; echo $timediff->m."
"; echo $timediff->y."
";

 

Ngoài ra, đọc

  • Hiển thị mã HTML trên trang web bằng PHP
  • Gửi SMS đến số điện thoại bằng Twilio trong PHP

Nhận chênh lệch múi giờ với thời gian hiện tại

Bâ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']."
";

Đầ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

Theo mặc định, không có phương thức nào có sẵn trên lớp DateTime hoặc DateInterval để lấy sự khác biệt giữa hai đối tượng DateTime trong vài giây. Do đó, bạn có thể lấy chênh lệch dấu thời gian của hai ngày hoặc tự tính số giây

So sánh dấu thời gian để nhận số giây giữa hai ngày

Chúng ta có thể chỉ cần so sánh dấu thời gian của hai ngày để có được sự khác biệt tính bằng giây. Ví dụ

$start = new DateTime['2011-12-31 00:00:00'];
$end = new DateTime['2021-01-01 00:00:00'];

echo $end->getTimestamp[] - $start->getTimestamp[]; // output: 284169600

Xin lưu ý rằng việc so sánh dấu thời gian có thể dẫn đến sự cố với ngày trước năm 1970 và sau năm 2038

Tính số giây giữa hai ngày

Bạn có thể tính số giây giữa hai ngày theo cách sau

$start = new DateTime['2011-12-31 00:00:00'];
$end = new DateTime['2021-01-01 00:00:00'];
$diff = $start->diff[$end];

$daysInSecs = $diff->format['%r%a'] * 24 * 60 * 60;
$hoursInSecs = $diff->h * 60 * 60;
$minsInSecs = $diff->i * 60;

$seconds = $daysInSecs + $hoursInSecs + $minsInSecs + $diff->s;

echo $seconds; // output: 284169600

Việc tính toán hoạt động theo cách sau

  • Sử dụng , thêm dấu trừ khi kết quả là âm;
  • Sử dụng cung cấp cho chúng tôi tổng số ngày giữa hai ngày;
  • Sử dụng định dạng
    1 year 11 month 30 days 17 hour 20 minute 3 second
    0 cùng nhau, chúng ta có thể nhận được số ngày âm/dương. Sử dụng điều đó, chúng ta có thể chuyển đổi số ngày thành giây bằng cách nhân nó với giờ trong một ngày, phút trong một giờ và giây trong một phút [i. e.
    1 year 11 month 30 days 17 hour 20 minute 3 second
    1];
  • Phép tính ở bước cuối cùng không tính đến giờ, phút và giây trong chênh lệch ngày [vì chúng không được bao gồm trong định dạng
    1 year 11 month 30 days 17 hour 20 minute 3 second
    2]. Để bao gồm những thứ đó, chúng tôi chỉ cần sử dụng và chuyển đổi chúng thành giây như trong ví dụ trên

Hy vọng bạn tìm thấy bài viết này hữu ích. Nó được xuất bản vào ngày 01 tháng 1 năm 2021. Hãy thể hiện tình yêu và sự ủng hộ của bạn bằng cách

Tính chênh lệch thời gian và ngày tháng hoặc khoảng thời gian giữa hai ngày và giờ. Đếm năm, tháng, ngày, giờ, phút và giây thực tế dựa trên ngày bạn gửi;

Máy tính liên quan. Ngày ± Ngày

Định dạng ngày

Đối với kiểu định dạng ngày của Hoa Kỳ, hãy sử dụng dấu gạch chéo lên [/], dấu chấm [. ] hoặc dấu gạch ngang [-]

  • tháng/ngày/năm
  • mm. đ. yyyy
  • mm-dd-yyyy

Đối với kiểu định dạng ngày của Châu Âu hoặc Châu Âu, hãy sử dụng dấu gạch chéo lên [/], dấu chấm [. ] hoặc dấu gạch ngang [-]

  • đ/tháng/năm
  • đ. mm. yyyy
  • dd-mm-yyyy

Đối với kiểu định dạng ngày quốc tế theo ISO 8601, chỉ sử dụng dấu gạch ngang [-]

Ngày hôm nay dựa trên Giờ chuẩn Greenwich [GMT] hoặc Giờ phối hợp quốc tế [UTC]

định dạng thời gian

Cả hai đầu vào thời gian nên sử dụng cùng một định dạng, hh. mm. ss như giờ. phút. giây. Nếu bạn sử dụng AM và PM, bạn phải có giờ nhưng phút và giây là tùy chọn. Nếu bạn không sử dụng AM và PM, bạn phải có giờ và phút nhưng giây là tùy chọn. Nếu bạn nhập ký hiệu đồng hồ 24 giờ, giờ và phút là bắt buộc trong khi giây là tùy chọn

Sử dụng máy tính này làm máy tính chênh lệch ngày và giờ. Tính thời gian trôi qua giữa 2 ngày và 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.

Làm cách nào để tính chênh lệch thời gian theo giờ trong php?

Hàm PHP để tính chênh lệch số giờ

Làm cách nào để tính chênh lệch thời gian theo giờ và phút trong php?

$min += $interval ->h * 60; $min += $interval ->i; // In kết quả . echo [ "Sự khác biệt trong phút là. " ];

Làm cách nào để tính chênh lệch thời gian trong php MySQL?

Để tính toán sự khác biệt giữa các dấu thời gian trong MySQL, hãy sử dụng hàm TIMESTAMPDIFF[đơn vị, bắt đầu, kết thúc] . Đối số đơn vị có thể là MICROSECOND , SECOND , MINUTE , HOUR , DAY , WEEK , MONTH , QUARTER hoặc Year. Để có sự khác biệt tính bằng giây như chúng ta đã làm ở đây, hãy chọn SECOND.

Chủ Đề