Próbuję odjąć 1 miesiąc od daty.Odjąć PHP 1 miesiąc od daty z datą ('m-Y')
$today = date('m-Y');
Daje: 08-2016
Jak mogę odjąć miesiąc dostać 07-2016
?
Próbuję odjąć 1 miesiąc od daty.Odjąć PHP 1 miesiąc od daty z datą ('m-Y')
$today = date('m-Y');
Daje: 08-2016
Jak mogę odjąć miesiąc dostać 07-2016
?
<?php
echo $newdate = date("m-Y", strtotime("-1 months"));
wyjście
07-2016
N.B .: przed użyciem tego przykładu przeczytaj ostrzeżenie o przypadkach krawędzi poniżej –
Spróbuj tego,
$today = date('m-Y');
$newdate = date('m-Y', strtotime('-1 months', strtotime($today)));
echo $newdate;
powinny zawierać to, że jest to pętla, ponieważ chcę uzyskać ostatnie 12 miesięcy, począwszy od bieżącego miesiąca. – Grant
Możesz go użyć w pętli –
zależności od wersji PHP można użyć obiektu DateTime (wprowadzone w PHP 5.2, o ile dobrze pamiętam):
<?php
$today = new DateTime(); // This will create a DateTime object with the current date
$today->modify('-1 month');
Możesz podać inną datę konstruktor, nie musi to być bieżąca data. Więcej informacji: http://php.net/manual/en/datetime.modify.php
Ostrzeżenie! Powyższe przykłady nie zadziałają, jeśli zadzwonią pod koniec miesiąca.
<?php
$now = mktime(0, 0, 0, 10, 31, 2017);
echo date("m-Y", $now)."\n";
echo date("m-Y", strtotime("-1 months", $now))."\n";
wyjście wola:
10-2017
10-2017
Poniższy przykład będzie produkować ten sam wynik:
$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";
mnóstwo sposobów, jak rozwiązać ten problem można znaleźć w innym wątku: PHP DateTime::modify adding and subtracting months
@ user1234 proszę nie nadużywać bloków kodu. – PeeHaa
(DATE_SUB (curdate(), INTERVAL 1 MONTH)) – jitendrapurohit