PHP DateTime thêm ngày
Đâ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 Show
Sử dụng lớp DateTime để thêm ngày vào một ngàyHã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àyTrong ví dụ sau, tôi sẽ thêm 30 ngày vào một ngày nhất định //Using PHP's DateTime object to add 30 days //to a given date. $date = new DateTime('2019-06-10'); //Create a new DateInterval object using P30D. $interval = new DateInterval('P30D'); //Add the DateInterval object to our DateTime object. $date->add($interval); //Print out the result. echo $date->format("Y-m-d"); Trong đoạn mã trên
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 //DateInterval object using 7 days / P7D. $interval = new DateInterval('P7D'); Thêm ngày vào ngày hôm nayNế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 //Create a DateTime object w/ no constructor. $date = new DateTime(); Đố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ácDướ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
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à strtotimeNế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 //Using PHP's date and strtotime functions to get //the date 30 days from now. $thirtyDays = date("Y-m-d", strtotime("+30 days")); //Print out the result. echo $thirtyDays; Trong đ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 //Adding +30 days to a given date. $date = '2019-06-10'; $thirtyDaysUnix = strtotime('+30 days', strtotime($date)); echo date("d M Y", $thirtyDaysUnix); Như 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 ❮ Tham chiếu ngày/giờ PHP Thí dụThêm 40 ngày vào ngày 15 tháng 3 năm 2013 $date=date_create("15-03-2013"); Định nghĩa và cách sử dụngHà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ápdate_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ậtGiá 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ờ PHP Thao tác chuỗi 0Sử dụng phiên bản PHP 5. 3 trở lên, đối tượng 2 cũng có thể là một giải pháp. DateTime hỗ trợ nhiều định dạng ngày hơn 4 và date . Sử dụng một đối tượng cũng dễ dàng hơn các chức năng tùy ý. Ví dụ: khi so sánh hai ngày, nó trực tiếp trong DateTime , nhưng trong 4, việc chuyển đổi ngày đầu tiên thành dấu thời gian là cần thiếtThí dụ
Đoạn mã sau sẽ in đầu ra
Phần khó của việc sử dụng 8 là đối tượng 9. Điều này chấp nhận một đặc tả khoảng thời gian hợp lệ. Định dạng phù hợp bắt đầu bằng chữ cái 0 có nghĩa là 1, theo sau là một giá trị số nguyên, sau đó là 2 cho ngày. Nếu thời lượng là thời gian, phần cuối cùng cần phải là 3Sự kết hợp của strtotime() và echo $fomattedDate; //output: 2020-02-28 0 để thêm ngày vào ngày trong PHP
4 sẽ chấp nhận một giá trị chuỗi đại diện cho ngày-thời gianThí dụ
Đoạn mã sau sẽ xuất ra
Ví dụ trên sẽ chấp nhận một chuỗi ngày có định dạng phù hợp và trả về ngày mới bằng cách sử dụng 4 và 9. Hàm 0 có định dạng phù hợpGhi chú. Để tránh tối nghĩa, nên sử dụng định dạng 1Cách tiếp cận này là cách dễ nhất trong số những cách khác để thêm ngày, tháng, năm, giờ, phút và giây Thí dụ
trong ứng dụng
Ví dụ trên cũng thêm ngày vào chuỗi ngày, 2 tạo đối tượng DateTime. 3 thiết lập một 9 từ các phần của chuỗi. Sau đó, cuối cùng, 5 tăng giá trị ngày |