Hướng dẫn how can i get minutes between two dates in php? - Làm thế nào tôi có thể nhận được số phút giữa hai ngày trong php?

Làm thế nào để tính toán chênh lệch phút giữa hai lần ngày trong PHP?

S.L. Barth

8.08971 Huy hiệu vàng 50 Huy hiệu bạc63 Huy hiệu Đồng71 gold badges50 silver badges63 bronze badges

Hỏi ngày 13 tháng 12 năm 2008 lúc 13:05Dec 13, 2008 at 13:05

Tom Smykowskitom SmykowskiTom Smykowski

24.9K52 Huy hiệu vàng156 Huy hiệu bạc227 Huy hiệu đồng52 gold badges156 silver badges227 bronze badges

Các câu trả lời trên là cho các phiên bản cũ của PHP. Sử dụng lớp DateTime để thực hiện bất kỳ tính toán ngày nào ngay bây giờ mà PHP 5.3 là tiêu chuẩn. Ví dụ.

$start_date = new DateTime['2007-09-01 04:10:58'];
$since_start = $start_date->diff[new DateTime['2012-09-11 10:25:00']];
echo $since_start->days.' days total
'; echo $since_start->y.' years
'; echo $since_start->m.' months
'; echo $since_start->d.' days
'; echo $since_start->h.' hours
'; echo $since_start->i.' minutes
'; echo $since_start->s.' seconds
';

$ kể từ_start là một đối tượng DateInterval. Lưu ý rằng thuộc tính ngày có sẵn [vì chúng tôi đã sử dụng phương thức Diff của lớp DateTime để tạo đối tượng DateInterVal].

Mã trên sẽ xuất ra:

1837 ngày tổng cộng5 năm0 tháng 10 ngày 6 giờ14 phút2 giây
5 years
0 months
10 days
6 hours
14 minutes
2 seconds

Để có được tổng số phút:

$minutes = $since_start->days * 24 * 60;
$minutes += $since_start->h * 60;
$minutes += $since_start->i;
echo $minutes.' minutes';

Điều này sẽ xuất hiện:

2645654 phút

Đó là số phút thực tế đã trôi qua giữa hai ngày. Lớp DateTime sẽ đưa tiết kiệm ánh sáng ban ngày [tùy thuộc vào múi giờ] vào nơi "cách cũ" sẽ không. Đọc hướng dẫn về ngày và thời gian //www.php.net/manual/en/book.datetime.php

Đã trả lời ngày 12 tháng 9 năm 2012 lúc 7:11Sep 12, 2012 at 7:11

17

Đây là câu trả lời:

$to_time = strtotime["2008-12-13 10:42:00"];
$from_time = strtotime["2008-12-13 10:21:00"];
echo round[abs[$to_time - $from_time] / 60,2]. " minute";

Đã trả lời ngày 13 tháng 12 năm 2008 lúc 13:36Dec 13, 2008 at 13:36

user38526user38526user38526

3.7532 huy hiệu vàng14 Huy hiệu bạc2 Huy hiệu đồng2 gold badges14 silver badges2 bronze badges

4

Trừ quá khứ nhiều nhất một từ tương lai nhất một và chia cho 60.

Thời gian được thực hiện ở định dạng UNIX, vì vậy chúng chỉ là một con số lớn hiển thị số giây từ

$to_time = strtotime["2008-12-13 10:42:00"];
$from_time = strtotime["2008-12-13 10:21:00"];
echo round[abs[$to_time - $from_time] / 60,2]. " minute";
5

NOMAN

1.4002 huy hiệu vàng17 Huy hiệu bạc38 Huy hiệu đồng2 gold badges17 silver badges38 bronze badges

Đã trả lời ngày 13 tháng 12 năm 2008 lúc 13:23Dec 13, 2008 at 13:23

OlioliOli

Phù thủy vàng 231K6262 gold badges217 silver badges294 bronze badges

3


Đã trả lời ngày 13 tháng 12 năm 2008 lúc 15:49Dec 13, 2008 at 15:49

TomtomTom

8,55229 Huy hiệu vàng129 Huy hiệu bạc227 Huy hiệu Đồng29 gold badges129 silver badges227 bronze badges

3


Output:

75

Đã trả lời ngày 12 tháng 9 năm 2019 lúc 14:10Sep 12, 2019 at 14:10

0

Nó hoạt động trên các chương trình của tôi, tôi sử dụng

$to_time = strtotime["2008-12-13 10:42:00"];
$from_time = strtotime["2008-12-13 10:21:00"];
echo round[abs[$to_time - $from_time] / 60,2]. " minute";
6, bạn có thể kiểm tra hướng dẫn
$to_time = strtotime["2008-12-13 10:42:00"];
$from_time = strtotime["2008-12-13 10:21:00"];
echo round[abs[$to_time - $from_time] / 60,2]. " minute";
6 trên đây.

$start = date_create['2015-01-26 12:01:00'];
$end = date_create['2015-01-26 13:15:00'];
$diff=date_diff[$end,$start];
print_r[$diff];

Bạn nhận được kết quả Bạn muốn gì.

Đã trả lời ngày 9 tháng 7 năm 2015 lúc 15:43Jul 9, 2015 at 15:43

Yussanyussanyussan

2.2501 Huy hiệu vàng20 Huy hiệu bạc24 Huy hiệu đồng1 gold badge20 silver badges24 bronze badges

2

Một cách khác với múi giờ.

$start_date = new DateTime["2013-12-24 06:00:00",new DateTimeZone['Pacific/Nauru']];
$end_date = new DateTime["2013-12-24 06:45:00", new DateTimeZone['Pacific/Nauru']];
$interval = $start_date->diff[$end_date];
$hours   = $interval->format['%h']; 
$minutes = $interval->format['%i'];
echo  'Diff. in minutes is: '.[$hours * 60 + $minutes];

Đã trả lời ngày 24 tháng 12 năm 2013 lúc 13:16Dec 24, 2013 at 13:16

MuhammadmuhammadMuhammad

3.0895 Huy hiệu vàng39 Huy hiệu bạc68 Huy hiệu Đồng5 gold badges39 silver badges68 bronze badges

1

Tôi đã viết chức năng này cho một trang blog của tôi [sự khác biệt giữa ngày trước và ngày của máy chủ]. Nó sẽ cung cấp cho bạn một đầu ra như thế này

"49 giây trước", "20 phút trước", "21 giờ trước", v.v.

Tôi đã sử dụng một chức năng sẽ giúp tôi có được sự khác biệt giữa ngày được thông qua và ngày của máy chủ.


Lưu nó dưới dạng tệp Giả sử "date.php". Gọi chức năng từ một trang khác như thế này

Chủ Đề