Tôi đang cố gắng trừ 1 tháng kể từ ngày.PHP trừ 1 tháng kể từ ngày được định dạng với ngày ('m-Y')
$today = date('m-Y');
Điều này cho phép: 08-2016
Làm thế nào tôi có thể trừ một tháng để có được 07-2016
?
Tôi đang cố gắng trừ 1 tháng kể từ ngày.PHP trừ 1 tháng kể từ ngày được định dạng với ngày ('m-Y')
$today = date('m-Y');
Điều này cho phép: 08-2016
Làm thế nào tôi có thể trừ một tháng để có được 07-2016
?
<?php
echo $newdate = date("m-Y", strtotime("-1 months"));
đầu ra
07-2016
N.B .: trước khi sử dụng ví dụ này, hãy đọc cảnh báo về các trường hợp cạnh bên dưới –
Hãy thử điều này,
$today = date('m-Y');
$newdate = date('m-Y', strtotime('-1 months', strtotime($today)));
echo $newdate;
nên có bao gồm rằng điều này là vòng lặp xung quanh như tôi muốn có được 12 tháng qua bắt đầu từ tháng hiện tại. – Grant
Bạn có thể sử dụng nó trong vòng –
Tùy thuộc vào phiên bản PHP của bạn, bạn có thể sử dụng DateTime đối tượng (được giới thiệu trong PHP 5.2 nếu tôi nhớ chính xác):
<?php
$today = new DateTime(); // This will create a DateTime object with the current date
$today->modify('-1 month');
Bạn có thể chuyển một ngày khác cho constructor, nó không phải là ngày hiện tại. Thông tin thêm: http://php.net/manual/en/datetime.modify.php
Cảnh báo! Các ví dụ nêu trên sẽ không hoạt động nếu gọi cho chúng vào cuối tháng.
<?php
$now = mktime(0, 0, 0, 10, 31, 2017);
echo date("m-Y", $now)."\n";
echo date("m-Y", strtotime("-1 months", $now))."\n";
chí đầu ra:
10-2017
10-2017
Ví dụ sau sẽ tạo ra kết quả tương tự:
$date = new DateTime('2017-10-31 00:00:00');
echo $date->format('m-Y')."\n";
$date->modify('-1 month');
echo $date->format('m-Y')."\n";
Rất nhiều cách làm thế nào để giải quyết vấn đề này có thể được tìm thấy trong thread khác: PHP DateTime::modify adding and subtracting months
@ user1234 vui lòng không lạm dụng các khối mã. – PeeHaa
(DATE_SUB (curdate(), INTERVAL 1 MONTH)) – jitendrapurohit