Jak mogę uzyskać sygnaturę czasową 12 dnia dzisiejszego, wczoraj i przedwczoraj za pomocą funkcji strtotime() w php?Pobierz sygnaturę czasu dzisiejszego i wczorajszego w php
Godzina 12 jest zmienna i zostałaby zmieniona przez użytkownika.
Jak mogę uzyskać sygnaturę czasową 12 dnia dzisiejszego, wczoraj i przedwczoraj za pomocą funkcji strtotime() w php?Pobierz sygnaturę czasu dzisiejszego i wczorajszego w php
Godzina 12 jest zmienna i zostałaby zmieniona przez użytkownika.
$hour = 12;
$today = strtotime($hour . ':00:00');
$yesterday = strtotime('-1 day', $today);
$dayBeforeYesterday = strtotime('-1 day', $yesterday);
strtotime obsługuje wiele interesting modifiers które można stosować:
$hour = 12;
$today = strtotime("today $hour:00");
$yesterday = strtotime("yesterday $hour:00");
$dayBeforeYesterday = strtotime("yesterday -1 day $hour:00");
echo date("Y-m-d H:i:s\n", $today);
echo date("Y-m-d H:i:s\n", $yesterday);
echo date("Y-m-d H:i:s\n", $dayBeforeYesterday);
To działa zgodnie z przewidywaniami:
2011-01-24 12:00:00
2011-01-23 12:00:00
2011-01-22 12:00:00
OO Equivalent
$oToday = new DateTime();
$oToday->setTime($iHour, 0);
$oYesterday = clone $oToday;
$oYesterday->modify('-1 day');
$oDayBefore = clone $oYesterday;
$oDayBefore->modify('-1 day');
dostać początek dzień wczoraj
$oDate = new DateTime();
$oDate->modify('-1 day');
echo $oDate->format('Y-m-d 00:00:00');
wynik
2014-11-05 00:00:00
Od PHP 7 można napisać coś this:
$today = new \DateTime();
$yesterday = (clone $today)->modify('-1 day');
$dayBefore = (clone $yesterday)->modify('-1 day');
// Then call ->format('Y-m-d 00:00:00'); on each objects
Można łatwo znaleźć dowolną datę używając DateTime
obiekt, to jest tak elastyczny
$yesterday = new DateTime('yesterday');
echo $yesterday->format('Y-m-d');
$firstModayOfApril = new DateTime('first monday of april');
echo $firstModayOfApril->format('Y-m-d');
$nextMonday = new DateTime('next monday');
echo $nextMonday->format('Y-m-d');
można również użyć new DateTime("now")
na dziś new DateTime("1 day ago")
na wczoraj lub wszystkie mogą być przetwarzane przez strtotime funkcji php.
Następnie sformatuj, jak chcesz.
Zależy od sposobu przechowywania godziny 12 (godziny, minuty, sekundy?). Ogólnie rzecz biorąc, czy spojrzałeś na funkcje wymienione w (http://php.net/manual/en/book.datetime.php)? Czego próbowałeś do tej pory? –
określony duplikat [pobieranie znacznika czasu w php] (http://stackoverflow.com/questions/4772953/getting-timestamp-in-php) - Już zadałeś to wczoraj. Jedyna różnica polega na argumentach przekazywanych do tych funkcji. Możesz znaleźć możliwe formaty względne w [Podręczniku PHP] (http://de2.php.net/manual/en/datetime.formats.relative.php) – Gordon
@Gordon: Przykro mi. Dziś jestem naprawdę głupi. chciałem go usunąć, ale ma teraz odpowiedź i nie mogę go usunąć. –