Hướng dẫn php calculate time difference between two dates in milliseconds - php tính toán chênh lệch thời gian giữa hai ngày bằng mili giây

Tôi sử dụng tập hợp các chức năng sau đây để xử lý ngày MySQL, có thể chúng có thể giúp bạn:

function sqlArray($date, $trim=true) {
    $result = array();
    $result['day'] = ($trim==true) ? ltrim(substr($date,8,2),'0') : substr($date,8,2);
    $result['month'] = ($trim==true) ? ltrim(substr($date,5,2),'0') : substr($date,5,2);
    $result['year'] = substr($date,0,4);
    $result['hour'] = substr($date,11,2);
    $result['minutes'] = substr($date,14,2);
    return $result;
}

function sqlInt($date) {
    $date = sqlArray($date);
    return mktime($date['hour'], $date['minutes'], 0, $date['month'], $date['day'], $date['year']);
}

function difference($dateStart, $dateEnd) {
    $start = sqlInt($dateStart);
    $end = sqlInt($dateEnd);
    $difference = $end - $start;
    $result = array();
    $result['ms'] = $difference;
    $result['hours'] = $difference/3600;
    $result['minutes'] = $difference/60;
    $result['days'] = $difference/86400;
    return $result;
}

Trong trường hợp của bạn, nó phải là một cái gì đó như:

$dateplayed = '2011-01-17 11:01:44'; 
print_r(difference($dateplayed, date('Y:m:d')));

Hy vọng nó hoạt động: D

Theo mặc định, không có phương pháp nào có sẵn trên lớp DateTime hoặc

$dateplayed = '2011-01-17 11:01:44'; 
print_r(difference($dateplayed, date('Y:m:d')));
0 để có được sự khác biệt giữa hai đối tượng DateTime tính bằng giây. Do đó, bạn có thể có được sự khác biệt của 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 để có số giây giữa hai ngày

Chúng ta chỉ có thể so sánh dấu thời gian của hai ngày để có được sự khác biệt trong vài 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 so sánh dấu thời gian có thể dẫn đến các vấn đề với ngày trước năm 1970 và sau năm 2038.

Tính toán 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

Tính toán hoạt động theo cách sau:

  • Sử dụng ký tự định dạng
    $dateplayed = '2011-01-17 11:01:44'; 
    print_r(difference($dateplayed, date('Y:m:d')));
    
    2, thêm dấu trừ khi kết quả là âm;
  • Sử dụng ký tự định dạng
    $dateplayed = '2011-01-17 11:01:44'; 
    print_r(difference($dateplayed, date('Y:m:d')));
    
    3 cho chúng ta tổng số ngày giữa hai ngày;
  • Sử dụng định dạng
    $dateplayed = '2011-01-17 11:01:44'; 
    print_r(difference($dateplayed, date('Y:m:d')));
    
    4 với 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 số ngày thành vài ngày bằng cách nhân nó với giờ trong một ngày, vài phút trong một giờ và vài giây trong một phút (tức là
    $dateplayed = '2011-01-17 11:01:44'; 
    print_r(difference($dateplayed, date('Y:m:d')));
    
    5);
  • Việc tính toán trong bước cuối cùng không tính đến số giờ, phút và giây trong chênh lệch ngày (vì chúng không được bao gồm ở định dạng
    $dateplayed = '2011-01-17 11:01:44'; 
    print_r(difference($dateplayed, date('Y:m:d')));
    
    3). Để bao gồm những thứ đó, chúng tôi chỉ cần sử dụng các thuộc tính giờ, phút và thứ hai có sẵn trên đối tượng
    $dateplayed = '2011-01-17 11:01:44'; 
    print_r(difference($dateplayed, date('Y:m:d')));
    
    0 và chuyển chúng thành vài 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 ngày 01 tháng 1 năm 2021. Vui lòng thể hiện tình yêu và sự hỗ trợ của bạn bằng cách chia sẻ bài đăng này.


Trong hướng dẫn này, chúng tôi sẽ học cách có được số giây giữa hai ngày với JavaScript.

Có nhiều phương pháp khác nhau để kiểm tra số ngày, giờ và giây thường được sử dụng để cung cấp thông tin liên quan đến dữ liệu. Vì bạn có thể thay đổi thủ công số lượng năm và tháng, chúng tôi làm theo một số thủ thuật đơn giản để có được số trong JavaScript.

Sử dụng phương thức ngày GetTime ()

Trong JavaScript, chúng tôi sử dụng các phương pháp khác nhau để tính toán ngày, giờ và giây. Cách phổ biến nhất để tính thời gian là .gettime (). Tuy nhiên, bạn sẽ nhận được kết quả trong mili giây và phải chuyển nó thành vài giây thông qua phân chia.

Cú pháp

var x = new Date("Aug 12, 2022 19:45:25");
var y = new Date("Aug 14, 2022 19:45:25");
let seconds = Math.abs(x.getTime() - y.getTime())/1000;

Ở đây X và Y là hai ngày. Chúng tôi sẽ sử dụng getTime () để có được thời gian tính bằng mili giây của cả hai ngày. Chúng tôi có sự khác biệt tuyệt đối giữa hai lần tính bằng mili giây. Sau đó, sau khi trừ thời gian tính bằng mili giây, chúng tôi sẽ chia nó cho 1000.

Thuật toán

  • Bước 1 - Tạo hai ngày bằng ngày mới (). Bạn có thể tham khảo ví dụ cho định dạng của một ngày.
  • Bước 2 - Sử dụng phương thức .getTime () để có thời gian tính bằng mili giây của cả hai ngày.
  • Bước 3 - trừ ngày cũ từ ngày gần đây. Sau đó, chia đầu ra cho 1000 để có được sự khác biệt tính bằng giây.
  • Bước 4 - Sử dụng phương pháp InsideHTML để kiểm tra số giây chênh lệch giữa hai ngày

ví dụ 1

Chúng tôi đã tạo ra cả hai ngày bằng tay bằng cách sử dụng ngày mới (). Bạn cũng có thể sử dụng các phương thức khác nhau để tạo ngày trong JavaScript.

<html> <body> <h4> Using <i> .getTime() method </i> to get number of seconds between to dates. </h4> <p id="date1"> </p> <p id="date2"> </p> <p id="seconds">Number of seconds between two dates: </p> <script> var t1 = new Date("Aug 12, 2022 19:45:25"); var t2 = new Date("Aug 14, 2022 19:45:25"); var dif = Math.abs(t1.getTime() - t2.getTime()) / 1000; document.getElementById('date1').innerHTML = "First date: " + t1; document.getElementById('date2').innerHTML = "Second date: " + t2; document.getElementById('seconds').innerHTML += dif + " seconds"; </script> </body> </html>

Sử dụng phương thức math.abs ()

Math.abs () là một phương pháp được sử dụng để làm tròn các số vào câu trả lời gần nhất để tránh nhận số nổi. Do đó, bạn cũng có thể sử dụng phương thức math.Round () thay vì math.abs (). Bạn có thể nhận được sự khác biệt về thời gian bằng phương pháp này tính bằng mili giây. Thời gian có thể được chuyển đổi trong vài giây bằng cách chia đầu ra cho 1000.

Cú pháp

Chúng tôi sẽ sử dụng cú pháp sau để có thời gian tính bằng mili giây và chuyển đổi thành vài giây thông qua phương pháp phân chia

let x = new Date();
let y = new Date();
let dif = Math.abs(x - y) / 1000;

Ở đây, chúng tôi tìm thấy số giây giữa hai ngày - x và y. Chúng tôi có sự khác biệt tuyệt đối giữa hai ngày này bằng phương pháp math.abs (). Sự khác biệt này là tính bằng mili giây, vì vậy chúng tôi chia cho 1000 để chuyển đổi thành vài giây.

Ví dụ 2

Trong ví dụ này, có hơn 31 ngày khác biệt trong cả hai ngày. Chúng tôi giữ các ngày tương tự để đầu ra cũng có thể được kiểm tra trong vài giây theo cách thủ công.

<html> <head> <title> Example - get seconds between two dates </title> <head> <body> <h3> Get seconds between to dates using absolute difference of the dates </h3> <p id="date1"> </p> <p id="date2"> </p> <p id="seconds">Number of seconds between two dates: </p> <script> let date1 = new Date("Nov 25 2022 07:24:35"); let date2 = new Date(); var dif = Math.abs(date1 - date2) / 1000; document.getElementById('date1').innerHTML = "First date: " + date1; document.getElementById('date2').innerHTML = "Second date: " + date2; document.getElementById('seconds').innerHTML += dif; </script> </body> </html>

Các phương thức như .gettime () và math.abs () thường được sử dụng trong javascript. Bạn có thể sử dụng phương thức Math.Round () để có đầu ra tương tự.

Có một cái nhìn vào ví dụ dưới đây.

Ví dụ 3

<html> <head> <title> Example - get seconds between two dates </title> <head> <body> <h3> Get seconds between to dates using Matth.round() method </h3> <p id="date1"> </p> <p id="date2"> </p> <p id="seconds">Number of seconds between two dates: </p> <script> let date1 = new Date("Nov 25 2022 07:24:35"); let date2 = new Date(); var dif = Math.round(date1 - date2) / 1000; document.getElementById('date1').innerHTML = "First date: " + date1; document.getElementById('date2').innerHTML = "Second date: " + date2; document.getElementById('seconds').innerHTML += dif; </script> </body> </html>

Trong khi nhận được câu trả lời, bạn nên đảm bảo thời gian được chuyển đổi trong vài giây vì đầu ra cũng có thể tính bằng vài phút hoặc mili giây. Do đó, bạn có thể kiểm tra các ví dụ ở trên để hiểu cách tốt nhất để có được đầu ra trong vài giây.

Hướng dẫn php calculate time difference between two dates in milliseconds - php tính toán chênh lệch thời gian giữa hai ngày bằng mili giây

Cập nhật vào ngày 15 tháng 9 năm 2022 11:43:13

  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để có được số ngày giữa hai ngày trong JavaScript?
  • C# Chương trình để có được sự khác biệt giữa hai ngày tính bằng giây
  • Làm cách nào để nhận được số ngày giữa hai ngày trong JavaScript?
  • Làm thế nào để có được số quý giữa hai ngày trong Java
  • Tìm số ngày giữa hai ngày JavaScript
  • Làm thế nào để có được sự khác biệt giữa hai ngày trong iOS?
  • Làm thế nào để có được sự khác biệt giữa hai ngày trong Android?
  • Làm thế nào để tính toán sự khác biệt giữa hai ngày trong JavaScript?
  • Chương trình C# để có được sự khác biệt giữa hai ngày
  • Tìm số lượng đăng nhập giữa hai ngày trong MySQL
  • Làm thế nào để có được sự khác biệt về thời gian giữa hai dấu thời gian tính bằng giây?
  • Làm thế nào để tìm số ngày và số tuần giữa hai ngày trong r?
  • Nhận tổng số hồ sơ giữa hai ngày đã cho trong MySQL
  • Làm thế nào để có được sự khác biệt giữa hai ngày trong Android bằng cách sử dụng Kotlin?
  • Nhận được sự khác biệt giữa hai dấu thời gian tính bằng giây trong MySQL?

Làm thế nào tôi có thể có được sự khác biệt giữa hai ngày và thời gian trong PHP?

Bạn có thể sử dụng hàm strtotime () để có được chênh lệch thời gian giữa hai ngày (dữ liệu) trong vài phút bằng PHP.use strtotime() function to get the time difference between two dates (DateTimes) in minutes using PHP.

Chức năng nào trả về chênh lệch thời gian trong mili giây?

Bạn có thể sử dụng hàm tích hợp DiffSeconds () và nhân kết quả với 1000. Đầu ra sẽ là mili giây.DiffSeconds() built-in function and multiply the result by 1000. The output will be milliseconds.

Làm thế nào tôi có thể có được sự khác biệt giữa hai dấu thời gian trong PHP?

Sự khác biệt giữa hai dấu thời gian PHP..
$ dateTime1 = new DateTime ('2016-11-30 03:55:06'); // Thời gian bắt đầu ..
$ dateTime2 = new DateTime ('2016-11-30 11:55:06'); // Thời gian kết thúc ..
$ intercal = $ datetime1-> diff ($ datetime2) ;.

Làm thế nào để có được sự khác biệt về thời gian giữa hai ngày trong JavaScript?

Cách tiếp cận 1:..
Xác định hai ngày bằng ngày mới () ..
Tính chênh lệch thời gian của hai ngày sử dụng ngày 2.GetTime () - Ngày1.dành thời gian();.
Tính toán không.Trong số các ngày giữa hai ngày, chia chênh lệch thời gian của cả hai ngày cho không.của mili giây trong một ngày (1000*60*60*24).
In kết quả cuối cùng bằng tài liệu.viết()..