Jak ugryźć funkcję php mktime?
W poniższych przykładach zmienna $time posiada postać.
$time = time();
Początek dnia
np.: 2008-08-18 00:00:00
$startDay = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time), date('Y',$time)));
Koniec dnia
np.: 2008-08-18 00:00:00
$endDay = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time)+1, date('Y',$time)));
Początek tygodnia
np.: 2008-08-18 00:00:00
$startWeek = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time), date('Y',$time)));
Koniec tygodnia
np.: 2008-08-25 00:00:00
$endWeek = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time)+1, date('Y',$time)));
Pierwszy dzień miesiąca
np.: 2008-08-01 00:00:00
$firstDayInMonth = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), 1, date('Y',$time)));
Ostatni dzień miesiąca
np.: 2008-08-29 00:00:00
$lastDayInMonth = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time)+1, -1, date('Y',$time)));
Gdzie zastosować?
System statystyk. Wyłowienie z bazy danych rekordów z danego dnia, tygodnia, miesiąca.
SELECT * FROM stats WHERE time BETWEEN '$startDay' AND '$endDay'
Jedno pytanie mnie nurtuje. Czy 00:00:00 tj. północ - jest traktowana jako początek czy koniec dnia? wydaje mi się ze to jest ostatnia godzina danego dnia.
Pokazywanie postów oznaczonych etykietą pro memoria. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą pro memoria. Pokaż wszystkie posty
poniedziałek, 18 sierpnia 2008
mktime - w przyładach
Etykiety:
php,
pro memoria
Subskrybuj:
Posty (Atom)