Powiel możliwe:
Get timestamp of today and yesterday in phpdata PHP wczoraj
Zastanawiałem się, czy istnieje prosty sposób na uzyskanie datę wczorajszą przez tego formatu:
date("F j, Y");
Powiel możliwe:
Get timestamp of today and yesterday in phpdata PHP wczoraj
Zastanawiałem się, czy istnieje prosty sposób na uzyskanie datę wczorajszą przez tego formatu:
date("F j, Y");
sama date()
służy tylko do formatowania, ale akceptuje drugi parametr.
date("F j, Y", time() - 60 * 60 * 24);
Aby zachować prostotę, odejmuję 24 godziny od uniksowego znacznika czasu.
Nowoczesny oop-podejście wykorzystuje DateTime
$date = new DateTime();
$date->sub(new DateInterval('P1D'));
echo $date->format('F j, Y') . "\n";
lub w przypadku (bardziej czytelny/oczywiste)
$date = new DateTime();
$date->add(DateInterval::createFromDateString('yesterday'));
echo $date->format('F j, Y') . "\n";
(Bo DateInterval
jest ujemna tutaj, musimy add()
to tutaj)
Zobacz także: DateTime::sub()
i DateInterval
strtotime()
, jak w date("F j, Y", strtotime("yesterday"));
+1, ponieważ powoduje to, że intencja staje się bardziej oczywista podczas skanowania za pomocą kodu. Kod samokodujący się i wszystko to. –
Jak łatwo :)
date("F j, Y", strtotime('-1 days'));
Preferuję tę odpowiedź. Przesunięcie ("-1") nie musi być stałą: można ją zbudować za pomocą zmiennej, nawet z pętlą: 'strtotime ('-'. $ S. 'Days')' gdzie '$ s' to ile dni wstecz (lub do przodu, jeśli bawisz się znakami) chcesz iść. – Henry
Dzięki za szybką odpowiedź. –
bardzo dobra odpowiedź, jest wiele sposobów na zrobienie tego, ale masz prosty, krótki i łatwy do zrozumienia (+ OOP dla zainteresowanych użyciem większej pamięci RAM). – neofutur
@neofutur Obok "chcemy zmarnować naszą pamięć RAM" metoda OOP jest przydatna, gdy już masz obiekt 'DateTime'- lub' DateInterval' (lub oba), co może mieć miejsce w aplikacji opartej na OOP (np. '$ customer-> expire- > add (DateInterval :: createFromDateString ("+ 1 rok")) // klient opłacony przez jeden dodatkowy rok') Należy również zauważyć, że 'DateInterval' rozumie ISO8601 dla przedziałów czasowych, ale' date() 'nie. Pod koniec kursu: wybierz ten, który najlepiej pasuje do twoich potrzeb :) – KingCrunch