Hướng dẫn php dateinterval 1 day - php dateinterval 1 ngày

PHP có rất nhiều phương pháp và chức năng để giúp bạn thao tác ngày bằng nhiều cách khác nhau. Trong mẹo nhanh này, tôi sẽ chỉ cho bạn cách thêm ngày vào một ngày trong PHP bằng lớp DateInterval. Chúng tôi sẽ bắt đầu với một cái nhìn tổng quan về DateInterval và sau đó chuyển sang bổ sung thực tế.

Lớp học ngày

Lớp DateInterval rất hữu ích cho việc lưu trữ một lượng thời gian cụ thể được đề cập theo số năm, tháng, giờ, v.v ... Trình xây dựng cho lớp này chấp nhận khoảng thời gian được chỉ định như một chuỗi bắt đầu bằng P. P này là viết tắt của giai đoạn. Bạn cũng sẽ phải sử dụng chữ T cho các khoảng thời gian chứa thành phần thời gian, tức là giờ, phút và giây.P. This P stands for the period. You will also have to use the letter T for intervals which contain a time component, i.e. hours, minutes, and seconds.

Bảng sau đây liệt kê tất cả các ký tự được sử dụng để chỉ định các khoảng thời gian cụ thể.

Tính cáchNhững gì nó đại diện
Ynăm
Mtháng
Wtuần (chuyển đổi thành ngày)
Dngày
Hgiờ
Mtháng
Wtuần (chuyển đổi thành ngày)

DM represents both months and minutes, but the ambiguity is resolved by the character T that I mentioned earlier. Since minutes represent the time component of our interval, they will be preceded by a T. Here are some examples to make things clear.

ngàyH
giờphút
Sgiây
Bạn có thể nhận thấy rằng M đại diện cho cả tháng và phút, nhưng sự mơ hồ được giải quyết bởi nhân vật mà tôi đã đề cập trước đó. Vì phút đại diện cho thành phần thời gian của khoảng thời gian của chúng tôi, chúng sẽ được một T. đây là một số ví dụ để làm cho mọi thứ rõ ràng.Sợi dây
Khoảng thời gianP20D
20 ngàyP5Y

5 năm

  1. P2Y3MP1W3D will be interpreted as 10 days from PHP 8.0.0 onward but as 3 days in earlier versions.
  2. 2 năm 3 tháng

PT10M

10 phút

format('M d, Y H:i:s');
// Dec 15, 2021 00:00:00

$interval = new DateInterval('P18DT6M');
$date->add($interval);
echo $date->format('M d, Y H:i:s');
// Jan 02, 2022 00:06:00

?>

P2Y3MT1H10M

2 năm, 3 tháng, 1 giờ và 10 phút

format('M d, Y');
// Jan 29, 2022

$interval = new DateInterval('P25D');

for($i = 0; $i <= 4; $i++) {
    $date->add($interval);
    echo "\n".$date->format('M d, Y');
}
/*
Feb 23, 2022
Mar 20, 2022
Apr 14, 2022
May 09, 2022
Jun 03, 2022
*/

?>

Có hai điều mà bạn phải nhớ khi chỉ định thời lượng.

format('M d, Y');
// Jan 29, 2024

$interval = new DateInterval('P25D');

for($i = 0; $i <= 4; $i++) {
    $date->add($interval);
    echo "\n".$date->format('M d, Y');
}
/*
Feb 23, 2024
Mar 19, 2024
Apr 13, 2024
May 08, 2024
Jun 02, 2024
*/

?>

Bạn không thể kết hợp tuần với các ngày trong các phiên bản PHP trước 8.0.0. P1W3D sẽ được hiểu là 10 ngày từ Php 8.0.0 trở đi nhưng như 3 ngày trong các phiên bản trước đó.

Bạn phải chuyển từ đơn vị lớn nhất sang đơn vị nhỏ nhất khi chỉ định thời lượng. Điều này có nghĩa là nhiều năm sẽ luôn phải đến trước nhiều tháng, nhiều tháng trước ngày, v.v.W with D when creating a date interval has only been possible since PHP 8.0.0. This means that different versions of PHP will return different dates when running the same code. Here is an example:

format('M d, Y H:i:s')."\n";

$interval = new DateInterval('P2W2DT25H');

for($i = 0; $i <= 4; $i++) {
    $date->add($interval);
    echo "\n".$date->format('M d, Y H:i:s');
}

?>

Thêm ngày vào một ngày với php DateIntervalW and D together, and that the number of hours in the interval is above 24. This effectively makes the interval (14 + 2 + 1 = ) 17 days and 1 hour. So PHP should add that with each iteration. The output when running the above code in PHP 8.0.3 is as expected.

Jan 29, 2024 00:00:00

Feb 15, 2024 01:00:00
Mar 03, 2024 02:00:00
Mar 20, 2024 03:00:00
Apr 06, 2024 04:00:00
Apr 23, 2024 05:00:00

Bây giờ chúng tôi đã biết cách chỉ định các khoảng thời gian ngày, chúng tôi sẽ tìm hiểu cách thêm ngày vào ngày trong PHP. Chúng ta có thể sử dụng phương pháp add() của lớp

format('M d, Y');
// Jan 29, 2022

$interval = new DateInterval('P25D');

for($i = 0; $i <= 4; $i++) {
    $date->add($interval);
    echo "\n".$date->format('M d, Y');
}
/*
Feb 23, 2022
Mar 20, 2022
Apr 14, 2022
May 09, 2022
Jun 03, 2022
*/

?>
0. Đây là một ví dụ:

Jan 29, 2024 00:00:00

Feb 01, 2024 01:00:00
Feb 04, 2024 02:00:00
Feb 07, 2024 03:00:00
Feb 10, 2024 04:00:00
Feb 13, 2024 05:00:00 

Chúng tôi bắt đầu với ngày 15 tháng 12 năm 2021 khi ngày của chúng tôi được lưu trữ dưới dạng đối tượng format('M d, Y'); // Jan 29, 2022 $interval = new DateInterval('P25D'); for($i = 0; $i <= 4; $i++) { $date->add($interval); echo "\n".$date->format('M d, Y'); } /* Feb 23, 2022 Mar 20, 2022 Apr 14, 2022 May 09, 2022 Jun 03, 2022 */ ?>0 bên trong biến format('M d, Y'); // Jan 29, 2022 $interval = new DateInterval('P25D'); for($i = 0; $i <= 4; $i++) { $date->add($interval); echo "\n".$date->format('M d, Y'); } /* Feb 23, 2022 Mar 20, 2022 Apr 14, 2022 May 09, 2022 Jun 03, 2022 */ ?>2. Thêm một khoảng thời gian 18 ngày và 6 phút đưa chúng ta vào ngày 02 tháng 1 năm 2022 lúc 00:06:00.

Phương pháp add() chăm sóc các ngày trong một tháng cụ thể và trả về giá trị gia tăng tương ứng, vì vậy bạn không phải lo lắng về những năm nhảy hoặc các tháng khác nhau có 28, 30 hoặc 31 ngày.

Bạn có thể thấy từ ví dụ sau đây rằng đầu ra thay đổi khi ngày ban đầu là từ một năm nhảy.

Hướng dẫn php dateinterval 1 day - php dateinterval 1 ngày

Chỉ định các tuần và ngày cùng nhau trong một ngày

Kết hợp W với D khi tạo khoảng thời gian ngày chỉ có thể kể từ Php 8.0.0. Điều này có nghĩa là các phiên bản khác nhau của PHP sẽ trả về các ngày khác nhau khi chạy cùng một mã. Đây là một ví dụ: