2
Дата минус дата = количество дней
Автор Vitus, 17 мая 2011 17:52
Сообщений в теме: 9
#1
Отправлено 17 Май 2011 - 17:52
Здраствуйте!!! Подскажите как можно имея две даты получить количество дней (например 17.05.2011 - 15.05.2011 = 2)
#2
Отправлено 18 Май 2011 - 09:51
Смотря где Вам необходимо их получить. Если в условиях фильтров/напоминаний - см. документацию по MySQL, если в вычислениях, то опять же смотря где именно и в каком формате представлена исходная дата. У Вас слишком общий вопрос, нужен конкретный пример. См. также функции даты и времени в PHP.
#3
Отправлено 02 Сентябрь 2011 - 11:44
Разработчик (18.5.2011, 9:51) писал:
Смотря где Вам необходимо их получить. Если в условиях фильтров/напоминаний - см. документацию по MySQL, если в вычислениях, то опять же смотря где именно и в каком формате представлена исходная дата. У Вас слишком общий вопрос, нужен конкретный пример. См. также функции даты и времени в PHP.
тогда я внесу два конкретных примера, чтобы поставить точку в этой теме.
Пример 1.
Есть поле "Дата рождения" (тип поля - дата, например, 11.09.1956). Необходимо вычислить сколько сейчас человеку лет. Результат должен отображаться, как возраст (причем в некоторых таблицах желательно, чтобы число было с дробной частью, т.е. например, 55,7 лет).
Пример 2.
Есть поле "Дата отправки" (тип поля - дата, например, 05.08.2011). Необходимо, чтобы вычислялось кол-во дней, которое прошло с момента отправки.
Вот сегодня 02.09.2011, значит, должно получиться так: 02.09.2011 - 05.08.2011 = 27 дней, например.
#4
Отправлено 20 Сентябрь 2011 - 02:39
Можете помочь?
#5
Отправлено 20 Сентябрь 2011 - 13:21
Мы не размещаем на форуме готовых вычислений, т.к. это платная услуга. Тем более что прямого отношения к работе с Клиентской базой они не имеют и решаются стандартными средствами PHP (см. ссылки на соответствующий раздел документации в моем первом посте). Максимум что мы можем - это указать на ошибки в Вашем коде, если Вы его разместите, или дать направление где искать решение, что я уже сделал.
#6
Отправлено 09 Декабрь 2011 - 16:56
А в JS как вычислить разницу дат? В описаниях JS есть объект типа Date, но его методы в программе не работают. Очевидно здесь какой-то свой формат используется.
#7
Отправлено 09 Декабрь 2011 - 17:20
В программе используется тот формат, который Вы видите на экране, т.е. локальный формат представления даты в соответствии с выбранным языком (имеется ввиду отображение даты на странице, т.к. JS работает с ним, в БД дата хранится в другом, универсальном формате). Соответственно если Вы хотите работать с датой через JS, для начала необходимо перевести ее в формат JS, используя к примеру операции работы со строками.
#8
Отправлено 09 Декабрь 2011 - 17:45
Еще раз просмотрел операции работы со строками, операции перевода строки в дату не нашел. Может подскажите?
В принципе можно из даты извлечь число месяцев (Например "01.12.2011". substr(3,2) возвращает 12) и далее с ним работать, но придется проверять и год, т.е. код усложняется. Хочется как-то красиво сделать.
В принципе можно из даты извлечь число месяцев (Например "01.12.2011". substr(3,2) возвращает 12) и далее с ним работать, но придется проверять и год, т.е. код усложняется. Хочется как-то красиво сделать.
#9
Отправлено 09 Декабрь 2011 - 17:54
Я не говорил про какую-то специальную "операцию перевода строки в дату", имелась ввиду обычная работа с вырезанием подстрок и формированием из них новой строки в соотвествии с форматом дат в JS. В датах все числа строго на своих местах, переместить их в другом порядке проблемы не представляет.
#10
Отправлено 09 Декабрь 2011 - 17:59
Понятно, спасибо.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных