Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyznaczanie dat
q3d
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 7
Dołączył: 10.01.2006

Ostrzeżenie: (0%)
-----


Chciałbym wyznaczyć zakresy dat od dnia do dnia o okresie 30 dni.
Data początkowa: 18-09-2017
Okres: 30 dni


  1. $startDate = explode('-', '18-09-2017');
  2. $startDateUnix = mktime(0, 0, 0, $startDate[1], $startDate[0], $startDate[2]);
  3.  
  4. $duration = 30;
  5. $durationUnix = $duration*24*60*60;
  6.  
  7. for ($period=0; $period<12; $period++) {
  8. $startPeriodUnix = $startDateUnix + $period * $durationUnix;
  9. $endPeriodUnix = $startPeriodUnix + $durationUnix - 1;
  10.  
  11. echo date('H:i:s d-m-Y',$startPeriodUnix).' '.date('H:i:s d-m-Y',$endPeriodUnix).'<br />';
  12. }


Gdy to wyświetlam otrzymuje:
00:00:00 18-09-2017 23:59:59 17-10-2017
00:00:00 18-10-2017 22:59:59 16-11-2017
23:00:00 16-11-2017 22:59:59 16-12-2017
23:00:00 16-12-2017 22:59:59 15-01-2018
23:00:00 15-01-2018 22:59:59 14-02-2018
23:00:00 14-02-2018 22:59:59 16-03-2018
23:00:00 16-03-2018 23:59:59 15-04-2018
00:00:00 16-04-2018 23:59:59 15-05-2018
00:00:00 16-05-2018 23:59:59 14-06-2018
00:00:00 15-06-2018 23:59:59 14-07-2018
00:00:00 15-07-2018 23:59:59 13-08-2018
00:00:00 14-08-2018 23:59:59 12-09-2018

Dlaczego w niektórych wierszach otrzymuje że okres kończy się o 22:59:59, a nie o 23:59:59? Jak sądzę to, że w niektórych wierszach okresach okres rozpoczyna się od 23:00:00 ( a tym samym pierwszy dzień kolejnego okresu też jest błędny) też z tego wynika.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 20:58