ФорумПрограммированиеPHP для идиотов → Дата рождения

Дата рождения

  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Апрель 7, 2011, 6:49 п.п.

    Здраствуйте! Подскажите пожалуйста в каком виде лучше хранить дату рождения в базе, что бы потом можно было легко определять у кого сегодня день рождения, у кого завтра, у кого послезавтра. Данные из формы получаются так: число, месяц, год. Форма такая же как например при регистрации на http://facebook.com , то есть отдельные селекты с числом, месяцем и годом.
  • Chiffa

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

    Spritz Апрель 7, 2011, 6:55 п.п., спустя 6 минут 13 секунд

    или Datetime или timestamp. по-моему в вашем случае без разницы и дело вкуса.
    Спустя 17 сек.
    но есть мнения
    http://habrahabr.ru/blogs/mysql/61391/
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Апрель 7, 2011, 6:57 п.п., спустя 2 минуты 20 секунд

    Chiffa, а почему не просто DATE?
  • Chiffa

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

    Spritz Апрель 7, 2011, 7:02 п.п., спустя 5 минут 10 секунд

    а точность выше;)))

    а вообще, если у вас нет специфики связанной с часовыми поясами. или требования вроде "чтоб извещение об именинниках появлялось под утренний кофе, а не в 00:00".
    то пофигу, можно и DATE
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Апрель 7, 2011, 7:10 п.п., спустя 7 минут 10 секунд

    Chiffa, ага, вот про часовые пояса я как то не подумал блин и теперь еще больше запутался что то
    Спустя 231 сек.
    Вообщем получил я например данные из формы 07 04 2011 что дальше с ними делать? Как то преобразовывать надо что бы в базу записать.
  • Chiffa

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

    Spritz Апрель 7, 2011, 7:19 п.п., спустя 9 минут 45 секунд

    если важны пояса - юзайте timestamp
      $timestamp = mktime(0, 0, 0, $month, $day, $year); 
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Апрель 7, 2011, 7:28 п.п., спустя 8 минут 39 секунд

    Chiffa, спасибо, так и буду делать.
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Апрель 7, 2011, 8:35 п.п., спустя 1 час 6 минут 42 секунды

    Оказывается timestamp не подходит для дат рождения ( http://valera.ws/2009.09.17~time-formats-in-mysql/ ), так как в ней не получится хранить года рождения старше 1970 года.
  • Chiffa

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

    Spritz Апрель 7, 2011, 9:23 п.п., спустя 48 минут 30 секунд

    хм, а у тебя сайт будет на венде крутиться?..

    потому что в юнихах проблем с отрицательным timestamp-ом вроде нет
  • master

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

    Spritz Апрель 7, 2011, 9:34 п.п., спустя 11 минут 6 секунд

    целое
    просто записываешь в виде числа
    19880102
    19651204
    -20651231
    главное нули не потеряй при записи
    Спустя 257 сек.
    в юнихах проблем с отрицательным timestamp-ом вроде нет

    Хорошая практика - проверять подобные утверждения лично перед тем как их написать.
    не всё полезно, что в swap полезло
  • master

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

    Spritz Апрель 7, 2011, 9:43 п.п., спустя 8 минут 58 секунд

    и вообще, что эта тема делает в серьёзном?
    не всё полезно, что в swap полезло
  • Chiffa

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

    Spritz Апрель 8, 2011, 12:10 д.п., спустя 2 часа 26 минут 21 секунду


    в юнихах проблем с отрицательным timestamp-ом вроде нет

    Хорошая практика - проверять подобные утверждения лично перед тем как их написать.

    а есть проблемы?

    было бы хорошим тоном их указать, а не делать пафосные замечания ;)
  • Flare

    Сообщения: 284 Репутация: N Группа: Кто попало

    Spritz Апрель 8, 2011, 1:03 д.п., спустя 53 минуты 39 секунд

    хранить в Date
  • master

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

    Spritz Апрель 8, 2011, 1:16 д.п., спустя 12 минут 49 секунд

    а есть проблемы?

    У меня - никаких )

    хранить в Date

    кстати
    не всё полезно, что в swap полезло

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