Hướng dẫn này sẽ hướng dẫn bạn cách trừ ngày trong một ngày bằng PHP. Tôi sử dụng PHP strtotime để trừ ngày cho ngày hiện tại. Thực hiện theo các bước dưới đây để tìm hiểu hướng dẫn này. Tạo biểu mẫu của chúng tôi Mã này sẽ hiển thị biểu mẫu của chúng tôi với ngày hiện tại và một hộp văn bản cho phép bạn nhập số ngày bạn muốn trừ trong ngày hiện tại của mình. Hàm date_add[] thêm một số ngày, tháng, năm, giờ, phút và giây vào một ngày. Cách thêm ngày, tuần, tháng vào bất kỳ ngày nào; . Đ; . 36 Bạn có muốn thêm ngày vào ngày không?
Thêm ngày vào ngày. Mã nguồn sau đây sẽ thêm 5 ngày cho đến nay. Tạo một ngày Với mktime[] Tham số dấu thời gian tùy chọn trong hàm date[] chỉ định dấu thời gian. Nếu bỏ qua, ngày và giờ hiện tại sẽ được sử dụng [như trong các ví dụ trên]. Hàm PHP mktime[] trả về dấu thời gian Unix cho một ngày. Dấu thời gian Unix chứa số giây giữa Kỷ nguyên Unix [ngày 1 tháng 1 năm 1970 00. 00. 00 GMT] và thời gian được chỉ định. Đội. hỏi đáp công việc. Stack Overflow cho Teams là một nơi riêng tư, an toàn để bạn và đồng nghiệp của bạn tìm và chia sẻ thông tin. máy tính ngày. Thêm vào hoặc trừ đi từ một ngày. Nhập ngày bắt đầu và cộng hoặc trừ bất kỳ số ngày, tháng hoặc năm nào. Ẩn PHP Giữ các tính năng hiện tại Xác thực HTTP với Cookie PHP Phiên Xử lý XForms thêm date_add [PHP 5 = , PHP 7] DateTime. add– date_add — Thêm số lượng ngày, tháng, năm, giờ, phút và giây vào đối tượng DateTime Mô tả. Phong cách hướng đối tượng
❮ Tham chiếu ngày/giờ PHP
Ví dụ
Thêm 40 ngày vào ngày 15 tháng 3 năm 2013
$date=date_create["2013-03-15"];
date_add[$date,date_interval_create_from_date_string["40 ngày"]];
echo date_format[$date,"Y-m-d"];
?>
Định nghĩa và cách sử dụng
Hàm date_add[] thêm một số ngày, tháng, năm, giờ, phút và giây vào một ngày
cú pháp
date_add[đối tượng, khoảng thời gian]
Giá trị tham số
Tham sốMô tảđối tượngBắt buộc. Chỉ định một đối tượng DateTime được trả về bởi date_create[]intervalRequired. Chỉ định một đối tượng DateIntervalchi tiết kỹ thuật
Giá trị trả về. Trả về một đối tượng DateTime khi thành công. FALSE trên failPhiên bản PHP. 5. 3+❮ Tham chiếu ngày/giờ PHPThêm ngày vào ngày hiện tại là một yêu cầu chung của các nhà phát triển và có thể được thực hiện theo nhiều cách. Chúng tôi cung cấp cho bạn một phương pháp dễ thực hiện bằng cách sử dụng các hàm tích hợp PHP của strtotime[] và date[]
hàm strtotime[]
Hàm strtotime[] PHP phân tích bất kỳ mô tả DateTime bằng văn bản tiếng Anh nào thành dấu thời gian Unix giây kể từ ngày 1 tháng 1 năm 1970 00. 00. 00 giờ GMT. Hàm strtotime[] sẽ trả về dấu thời gian khi thành công. FALSE khi thất bại
Tương thích với PHP 4, PHP 5, PHP 7, PHP 8
cú pháp
strtotime[datetime, timestamp];
Thông số
Tên thông sốTypeMandatoryDescripdatetimeStringYesMột chuỗi ngày/giờ. Các định dạng hợp lệ được giải thích trong Định dạng ngày và giờ. dấu thời gianIntegerTùy chọnDấu thời gian được sử dụng làm cơ sở để tính ngày tương đốihàm ngày []
Hàm date[] PHP trả về một chuỗi được định dạng theo chuỗi định dạng ngày đã cho bằng cách sử dụng dấu thời gian số nguyên đã cho hoặc thời gian hiện tại. Nếu một giá trị không phải là số được sử dụng cho dấu thời gian, false sẽ được trả về và lỗi cấp độ E_WARNING được phát ra
các định dạng bộ nhớ trong hoàn toàn không thể nhận dạng được [nếu bạn đã từng có thể nhìn thấy chúng, điều mà bạn chỉ có thể làm được bằng cách tự mình đọc các tệp lưu trữ vật lý thực tế]
đồng thời, “30 ngày qua” không giống như “tháng trước”
đó là sự khác biệt giữa 2008-10-13 đến 2008-11-13 và 2008-10-01 đến 2008-10-31
tripy, đừng quên rằng nếu bạn làm điều này –
date[newsDate] >= date[now[]-interval 30 day]
sau đó bằng cách đặt một hàm trên cột, bạn đang buộc trình tối ưu hóa quét bảng vì nó không thể sử dụng chỉ mục trên cột
2019-05-202
2019-05-203
2019-05-204
2019-05-205
2019-05-206
2019-05-207
2019-05-204
date[newsDate] >= date[now[]-interval 30 day]
7date_add[object, interval];0
date_add[object, interval];1
date_add[object, interval];2
Đây là một hướng dẫn ngắn về cách thêm ngày vào một ngày nhất định bằng PHP. Để làm điều này, chúng ta có thể sử dụng kết hợp ngày và strtotime hoặc chúng ta có thể sử dụng phương pháp OO và sử dụng lớp DateTime
Sử dụng lớp DateTime để thêm ngày vào một ngày
Hãy bắt đầu bằng cách xem xét một vài ví dụ sử dụng lớp DateTime
Thêm 30 ngày vào một ngày
Trong ví dụ sau, tôi sẽ thêm 30 ngày vào một ngày nhất định
date[newsDate] >= date[now[]-interval 30 day]
2Trong đoạn mã trên
- Chúng tôi đã tạo một đối tượng DateTime mới và chuyển vào ngày mà chúng tôi muốn thêm ngày vào. Trong trường hợp này, tôi đã sử dụng ngày 10 tháng 6 năm 2019. tôi. e. Chúng tôi muốn thêm 30 ngày vào ngày 10 tháng 6 năm 2019
- Sau đó, chúng tôi đã tạo một đối tượng DateInterval và đặt tham số $interval_spec trong hàm tạo thành P30D. P30D là viết tắt của “khoảng thời gian 30 ngày. ”
- Sau đó, chúng tôi đã thêm DateInterval này vào đối tượng DateTime của mình bằng cách sử dụng chức năng thêm
- Cuối cùng, chúng tôi đã in ra kết quả bằng DateTime. chức năng định dạng
Thêm 7 ngày vào một ngày bằng DateTime
Đoạn mã PHP ở trên có thể dễ dàng sửa đổi để thêm 7 ngày thay vì 30. Điều duy nhất cần thay đổi là dòng mà chúng tôi đã khởi tạo lớp DateInterval
date[newsDate] >= date[now[]-interval 30 day]
3Thêm ngày vào ngày hôm nay
Nếu bạn muốn thêm ngày vào ngày hôm nay, thì bạn chỉ cần bỏ qua tham số trong hàm tạo
date[newsDate] >= date[now[]-interval 30 day]
4Đối tượng DateTime ở trên sẽ mặc định là dấu thời gian hiện tại
Các ví dụ về DateInterval khác
Dưới đây là một vài thông số khoảng thời gian khác có thể được sử dụng với lớp DateInterval
- P1Y. Thêm thời hạn một năm
- P5D. Thêm khoảng thời gian 5 ngày
- P1D. Thêm khoảng thời gian 1 ngày
- P6M. Thêm thời hạn 6 tháng
- P4W. Thêm khoảng thời gian 4 tuần
Kể từ phiên bản PHP 7. 1, bạn thậm chí có thể thêm micro giây vào dấu thời gian
Sử dụng ngày và strtotime
Nếu bạn cảm thấy thoải mái hơn khi sử dụng các hàm ngày và strtotime, thì bạn có thể sử dụng ví dụ sau
date[newsDate] >= date[now[]-interval 30 day]
5Trong đoạn mã trên, chúng tôi đã thêm 30 ngày vào ngày hiện tại
Tuy nhiên, nếu bạn muốn thêm ngày vào một ngày nhất định, thì bạn sẽ cần sửa đổi cách tiếp cận của mình một chút
date[newsDate] >= date[now[]-interval 30 day]
6Như bạn có thể thấy, hàm strtotime thực sự khá hữu ích theo nghĩa là bạn gần như có thể viết chính xác những gì bạn muốn bằng tiếng Anh đơn giản vào tham số đầu tiên. Ví dụ: bạn cũng có thể yêu cầu thêm một tháng