[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обработка даты
Guest
Всем привет! Народ, подскажите пожалуйста.
Необходимо создать ячейку в строке таблицы, в которой будет храниться дата формата: месяц(номер) и день месяца(номер)
т.о. это значение будет использоваться для сравнения даты. Ну например: если 6 февраля > 5 февраля то ...
В MYSQL есть поле ДАТА, но оно формата 0000-00-00

есть какие нибудь предложения???



Спустя 1 минута, 45 секунд (7.04.2010 - 16:11) DedMorozzz написал(а):
date_format?

Спустя 32 минуты, 7 секунд (7.04.2010 - 16:43) Nikitian написал(а):
timestamp?
Это обычный беззнаковый инт

Спустя 20 минут, 56 секунд (7.04.2010 - 17:04) gloomen12 написал(а):
Если использовать формат: Date
То предлагается использовать формат 0000-00-00
Да, это идельаный вариат, т.е. такую дату можно сравнивать
с другой датой!

А, мне надо только месяц и день, как можно поменять с 0000-00-00 на 00-00 что бы сравнивать с другой датой.

Спустя 7 минут, 12 секунд (7.04.2010 - 17:11) twin написал(а):
Дед мороз дело речет.))

Спустя 1 час, 25 минут, 32 секунды (7.04.2010 - 18:37) gloomen12 написал(а):
1. В строке использую вот такую дату: 0000-02-03
2. А, для сравнения использую: $datex = date( 'n' ).'-'.date( 'j' );
3. Что получается 0000-02-03 против 8-4, такие числа сравнить нельзя!



Спустя 10 минут, 26 секунд (7.04.2010 - 18:47) DedMorozzz написал(а):
Эм. Создай 2 файлика. В 1м напиши : "date", а во 2м - "date_format". И с помошью программы "Win Merge" сравни их по содержанию. Те области в которых текст отличаеться она автоматом подсветит!

Спустя 41 минута, 49 секунд (7.04.2010 - 19:29) glock18 написал(а):
каким образом date_format поможет при сравнении дат? нужен день или месяц - бери соответствующие функции: day, month, year. все есть.

я, конечно, понимаю, что типа date_format(`dateField`, '%y') это то же самое что year(`dateField`), но именно поэтому и надо использовать вторую запись. имхо форматирование не для этого нужно.

Спустя 33 минуты, 40 секунд (7.04.2010 - 20:02) twin написал(а):
Дело в том, что даты в азиатском формате можно сравнивать влоб, прямо в строковом выражении. По этому очень даже можно пользоваться форматированием:
$res = mysql_query("....DATE_FORMAT(`date`, '%m-%d') AS `date_out` FROM.....");

$date_out = mysql_result($res, 0);
$date = '04-07';
//$month = '04';
//$day = '07';
//$date = $month .'-'. $day;


echo ($date > $date_out)?'больше':'меньше';

Спустя 22 минуты, 8 секунд (7.04.2010 - 20:25) glock18 написал(а):
Цитата (twin @ 7.04.2010 - 17:02)
Дело в том, что даты в азиатском формате можно сравнивать влоб


mysql сам это сделает гораздо лучше и сравнивать он будет их как числа. никаких date_format для этого не надо, а нужно чтобы данные были типа date/datetime/timestamp. date_format возвращает строку.

Спустя 9 минут, 11 секунд (7.04.2010 - 20:34) twin написал(а):
Ну то на стороне мускула, что не факт отвечает условиям задачи.

Спустя 4 минуты, 57 секунд (7.04.2010 - 20:39) glock18 написал(а):
дата по умолчанию форматируется по азиатскому стандарту. так что не вижу ничего, что бы воспрепятствовало сравнению в пыхе без форматирования. хотя более чем уверен, что если задача ставит такое условие, значит в большинстве случаев она неправильно сформулирована. скорее всего этот скрипт входит именно в это большинство.

Спустя 2 минуты, 16 секунд (7.04.2010 - 20:41) twin написал(а):
Ну да, только вопрос то в том, что сравнивать только месяц-день. Незнаю зачем, может для гороскопа к примеру. А полный азиатский формат с полным годом. Так что все равно нужно форматировать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.