Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Объединить два кода (https://javascript.ru/forum/server/70173-obedinit-dva-koda.html)

Sonya 17.08.2017 13:23

$signsstart = [1=>21, 20, 20, 20, 20, 20, 21, 22, 23, 23, 23, 23];
помогло, но 12 месяц все равно не правильно считает. "21, 20, 20, 20, 20, 20, 21, 22, 23, 23, 23, 23" - это числа месяца (они сейчас не правильно расставлены по гороскопу, но сейчас не в этом суть), в последнем коде делается разрыв 12 месяца и 1 - вот так 1222 (22 декабря) до 1231 (31 декабря), и потом 0101 (1 января) до 0119 (19 января), хотя это и один зодиакальный месяц. В этом же коде этого нет и возможно именно это и является причиной некорректного подсчета.

laimas 17.08.2017 13:43

Не копируйте код как есть, то есть выбрасывайте из него необдуманное, и тогда проблем меньше будет.

Функция strtotime преобразовывает дату в штамп времени, и как при этом она будет написана, дд.мм.гггг или дд-мм-гггг, или гггг.мм.дд, или гггг-мм-дд, или еще как либо, это не важно. Данная функция также корректно преобразует и английскую нотацию в метку времени.

Вот это $day = str_replace("-","",substr($data,5)); выбросить заменив на:

$date = date_parse($date);
    if(!$date['errors']) {
        $day = $date['month'] . $date['day'];
        //дальше по коду
    }


Не копируйте код, читайте о функциях.


Часовой пояс GMT +3, время: 00:49.