Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]cały dzień jako unix timestamp
Forum PHP.pl > Forum > Przedszkole
elmozaur
Witajcie.
Takie szybkie pytanko:
funkcją time() mogę zwrócić timestamp, który mogę zamienić na dokładną gdzinę miesiac dzień itp.
pytanie:
Jak pozyskać zakres timestampu, który będzie odpowiadał dokładnie całemu dniowi (od godz:00:00- 23:59:59);
wymyśliłem sposób czasochłonny polegający na:
sprawdzeniu aktualnej daty, potem ustalam godzinę na 00:00 wszystko wrzucam do strtotime i mam pierwszą wartość
ustalam godzinę na 23:59:59 z datą wrzucam do strto time i mam drugą wartość do zakresu.

czy da się to zrobić jakoś "czytelniej/logiczniej" ?
kapslokk
Możesz użyć: http://php.net/manual/en/class.datetime.php
  1. $date = new DateTime();
  2. $date->setTime(0,0,0);
  3. echo($date->getTimestamp());
  4. $date->setTime(23,59,59);
  5. echo($date->getTimestamp());
markuz
  1. $date = '2016-03-14';
  2. $from = strtotime($date); // domyślnie godz. 00:00
  3. $to = $from + 86399; // 23:59:59 (60 s * 60 m * 24 h - 1 s)
  4. echo date('Y-m-d H:i:s', $from) . ' ' . date('Y-m-d H:i:s', $to);
Crozin
@markuz: Twoje rozwiązanie posypie się w przypadku wystąpienia sekund przestępnych bądź zmiany czasu (DST), chyba, że wymusisz operowanie na UTC - co i tak się powinno robić.
elmozaur
dziękuję wszystkim za odpowiedź.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.