2 egyenlő egész, miért nem egyenlő?
Van egy roppant egyszerű metódusom, ami paraméterben kap egy dátumot, és megmondja, hogy a dátum ezen a héten, vagy a következő héten van-e, ha egyik sem akkor exception-t dob.
Na de a hétfői napokon, mindig exception-t dob, hogy se nem ez a hét, se nem a következő. Pedig ha kiíratom a 2 változó értékét, amit vizsgálok, azok egyenlőek (egész típusú mind a kettő), de komparálásnál már nem egyenlőek.
Ennek vajon mi lehet az oka? Még nem találkoztam ilyesmivel... :/
■ Na de a hétfői napokon, mindig exception-t dob, hogy se nem ez a hét, se nem a következő. Pedig ha kiíratom a 2 változó értékét, amit vizsgálok, azok egyenlőek (egész típusú mind a kettő), de komparálásnál már nem egyenlőek.
Ennek vajon mi lehet az oka? Még nem találkoztam ilyesmivel... :/
- /**
- * Dátum stringből visszaadja, hogy ez a hét, vagy a következő
- *
- * @param string $date YYYY-MM-DD
- *
- * @return int {@see JoinForm::WEEK_THIS | JoinForm::WEEK_NEXT}
- */
- private function getWeekFromDate($date)
- {
- $explodedDate = explode('-', $date);
- if (count($explodedDate) !== 3)
- throw new CException('Csak YYYY-MM-DD formátumú dátum a megengedett!');
- $utcTimestamp = strtotime($date.' 00:00:00 UTC');
- $paramWeek = intval(gmdate('W', $utcTimestamp));
- $localWeek = intval(gmdate('W'));
- var_dump($paramWeek, $localWeek); // int 30, int 30
- if ($paramWeek == $localWeek) // itt szerinte nem egyenlőek
- return JoinForm::WEEK_THIS;
- elseif ($paramWeek - 1 == $localWeek)
- return JoinForm::WEEK_NEXT;
- else
- throw new CException('A megadott dátum nem megfelelő!'); // ezt az exception-t kapom
- }
UTC
Adatbázisból szedi a
OFF topic
1. hét - 1 != 52. hét
És tényleg... köszi! :)