ФорумПрограммированиеPHP для идиотов → Проверка выбранной даты

Проверка выбранной даты

  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 18 июня 2008 г. 7:32

    Вобщем при регистрации есть дата в <select> (день месяц год) может есть у кого скрипт проверки даты, учитывая высокостный год.

    Если не понятно объяснил: допустим выбрано: день 29, месяц февраль, год 2007 - следовательно ошибка т.к. в феврале 28 дней, но при выбранном 2008 году(высокостном) ошибки уже небыло
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 18 июня 2008 г. 8:35, спустя 1 час 3 минуты 52 секунды

    if ($year % 4 == 0 and $month == 2 and $day <= 29) {
    // в случае если год високоный
    }

    Уф, что-то вроде этого… Первая часть "$year % 4 == 0" показывает, високосный ли год и это основное ;)
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 8:49, спустя 13 минут 37 секунд

    а 1900 не високосный :)
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 8:59, спустя 9 минут 33 секунды

    Где-то я в свое время нашел такой алгоритм про високосные года:

    if ($year % 400) return true;
    if ($year % 100) return false;
    if ($year % 4) return true;
    return false;


  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 9:03, спустя 4 минуты 42 секунды

    Видимо там всё-таки было в стиле:
    if (!($year % 400)) return true;
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 9:10, спустя 6 минут 23 секунды

    Ага, точно !!!
    Я запомнил просто волшебные числа 400 100 4
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 9:36, спустя 26 минут 38 секунд

    на стороне клиента лучше б заюзать какойнить жабаскриптовый календарик…
    он выполнит всю верификацию на клиенте…

    ну а для тех, кто будет пытаться засабмитить фуфловые данные, тех уже и проверяй на сервере, кстати гдето недавно встречал какуюто ф-ию которая проверяет есть такая дата или нет…

    если вспомню, то отпишу сюда.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 9:42, спустя 5 минут 15 секунд

    вспомнил, checkdate()
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 18 июня 2008 г. 10:11, спустя 29 минут 30 секунд

    А почему 1900 год не високосный? Оо
    // курит википедию
    Хм… и вправду. Но, думаю, такие даты нам не грозят :-P
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 18 июня 2008 г. 10:35, спустя 23 минуты 26 секунд

    оо спасибо, checkdate() то что нужно
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 12:31, спустя 1 час 56 минут 29 секунд

    прости а почему всетаи 1900 год не высокосный?
    впедивикии сказано что нет но почему я так и не понял

    UPD простите уже докурил
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 18 июня 2008 г. 22:20, спустя 9 часов 49 минут 17 секунд

    пойду теперь я покурю

    upd
    покурил
    впечатлило
    все умрут, а я изумруд
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 18 июня 2008 г. 23:52, спустя 1 час 31 минуту 57 секунд

    еще по поводу даты, хочу сделать разные часовые пояса, но как вычислять дату, которая уже храниться в бд? формат такой d.m.Y H:i
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 19 июня 2008 г. 2:28, спустя 2 часа 36 минут 14 секунд

    Frozzeg, какая субд?
    "формат такой d.m.Y H:i" - где? в бд? или ты хочешь такой в результате? для чего он?
    adw/0
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 19 июня 2008 г. 2:41, спустя 12 минут 52 секунды

    mysql, d.m.Y H:i в таком формате время хранится в бд, время показывает дату последнего посещения, время поста новости, коммента и т.п.
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!