Witam,

Pytanie co robię źle.
Generuje zakres czasowy

  1. $period_tmp = new DatePeriod(
  2. new DateTime($FromTime),
  3. new DateInterval('PT8H'),
  4. new DateTime($ToTime)
  5. );

Wygląda to tak jak potrzebuje

  1. DatePeriod Object ( (start) => DateTime Object ( (date) => 2016-01-01 22:00:00 (timezone_type) => 3 (timezone) => Europe/Berlin ) (current) => (end) => DateTime Object ( (date) => 2016-02-29 15:00:00 (timezone_type) => 3 (timezone) => Europe/Berlin ) (interval) => DateInterval Object ( (y) => 0 (m) => 0 (d) => 0 (h) => 8 (i) => 0 (s) => 0 (weekday) => 0 (weekday_behavior) => 0 (first_last_day_of) => 0 (invert) => 0 (days) => (special_type) => 0 (special_amount) => 0 (have_weekday_relative) => 0 (have_special_relative) => 0 ) (recurrences) => 1 (include_start_date) => 1 )

Robie z tego tablicę

  1. foreach ($period_tmp as $date_tmp) {
  2. $dates_tmp()= $date_tmp->format("Y-m-d H:m:s");
  3. }

No i mam przesunięcie czasowe na starcie o minutę? Dla Start From w tym przykładzie 2016-01-01 22:00:00 interwał ma być co 8h
  1. Array ( 0 => 2016-01-01 22:01:00 1 => 2016-01-02 06:01:00
  2. wycięte wiadomo zakres od do
  3. 173 => 2016-02-28 14:02:00 174 => 2016-02-28 22:02:00 175 => 2016-02-29 06:02:00 176 => 2016-02-29 14:02:00 )

Oczywiście błąd czasowy się zwiększa ze zwiększeniem zakresu.
Mogę to ominąć skracając (interesują mnie pełne godziny) do

  1. $dates_tmp()= $date_tmp->format("Y-m-d H:00:00");


Ale nie mam pojęcia skąd te przesunięcie powstaje. Nawiasy pozamieniane z racji bbcode