DateTime – bug s přidáváním / ubíráním měsíců

Kcko
Člen | 465
+
0
-

Ahoj, obecně, nepatří to sem, kdyžtak to smažte. http://php.net/…e.modify.php #example2
Když se operuje s měsíci, může to vést k neočekávánému výstupu (viz ten příklad).

Našel jsem si fix viz https://gist.github.com/…7f32ab80e4d7 nicméně, máte s tím někdo zkušenosti, jak to řešíte, jak jste obešli problém, víte o tom vůbec?

Editoval Kcko (25. 5. 2018 18:31)

CZechBoY
Člen | 3608
+
0
-

Mne uplne staci jak to funguje ted, tzn. +30 dni

Pavel Kravčík
Člen | 1180
+
0
-

Stačí k tomu dát last day of a pak i ty měsíce fungují docela dobře. :)

Kcko
Člen | 465
+
0
-

CZechBoY napsal(a):

Mne uplne staci jak to funguje ted, tzn. +30 dni

Mě donedávna taky :-), ale ted v jedné aplikaci potřebuji jiné chování a byl jsem tím tak trošku zaskočen.

Kcko
Člen | 465
+
0
-

Pavel Kravčík napsal(a):

Stačí k tomu dát last day of a pak i ty měsíce fungují docela dobře. :)

No to možná, když hledáš poslední den v dalším měsíci, ale to já jsem nenapsal. Když máš 29.1 a 30.1 neb tak to skočí do 1 a 2 března, nebo 30.3 , 29.3. –1 měsíc, taky to nebude stejné, datetime to prostě zaokrouhluje.

Potřeboval sem trošku jiné chování, ale ted vidím, že nepoužiju ani tu třídu z Gistu a budu akorát kontrolovat jestli se mi změnil měsíc jen +1 nebo –1 a hlavně DEN zůstal stejný, pokud ne, tak vůbec skript nevykonám.

Editoval Kcko (26. 5. 2018 8:17)