Перейти к содержимому


Дата минус дата = количество дней


Сообщений в теме: 9

#1 Vitus

    Активный участник

  • Пользователи
  • PipPipPip
  • 43 сообщений

Отправлено 17 Май 2011 - 17:52

Здраствуйте!!! Подскажите как можно имея две даты получить количество дней (например 17.05.2011 - 15.05.2011 = 2)

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Май 2011 - 09:51

Смотря где Вам необходимо их получить. Если в условиях фильтров/напоминаний - см. документацию по MySQL, если в вычислениях, то опять же смотря где именно и в каком формате представлена исходная дата. У Вас слишком общий вопрос, нужен конкретный пример. См. также функции даты и времени в PHP.

#3 Lovent

    Активный участник

  • Пользователи
  • PipPipPip
  • 93 сообщений

Отправлено 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 Lovent

    Активный участник

  • Пользователи
  • PipPipPip
  • 93 сообщений

Отправлено 20 Сентябрь 2011 - 02:39

Можете помочь?

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Сентябрь 2011 - 13:21

Мы не размещаем на форуме готовых вычислений, т.к. это платная услуга. Тем более что прямого отношения к работе с Клиентской базой они не имеют и решаются стандартными средствами PHP (см. ссылки на соответствующий раздел документации в моем первом посте). Максимум что мы можем - это указать на ошибки в Вашем коде, если Вы его разместите, или дать направление где искать решение, что я уже сделал.

#6 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 09 Декабрь 2011 - 16:56

А в JS как вычислить разницу дат? В описаниях JS есть объект типа Date, но его методы в программе не работают. Очевидно здесь какой-то свой формат используется.

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Декабрь 2011 - 17:20

В программе используется тот формат, который Вы видите на экране, т.е. локальный формат представления даты в соответствии с выбранным языком (имеется ввиду отображение даты на странице, т.к. JS работает с ним, в БД дата хранится в другом, универсальном формате). Соответственно если Вы хотите работать с датой через JS, для начала необходимо перевести ее в формат JS, используя к примеру операции работы со строками.

#8 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 09 Декабрь 2011 - 17:45

Еще раз просмотрел операции работы со строками, операции перевода строки в дату не нашел. Может подскажите?
В принципе можно из даты извлечь число месяцев (Например "01.12.2011". substr(3,2) возвращает 12) и далее с ним работать, но придется проверять и год, т.е. код усложняется. Хочется как-то красиво сделать.

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Декабрь 2011 - 17:54

Я не говорил про какую-то специальную "операцию перевода строки в дату", имелась ввиду обычная работа с вырезанием подстрок и формированием из них новой строки в соотвествии с форматом дат в JS. В датах все числа строго на своих местах, переместить их в другом порядке проблемы не представляет.

#10 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 09 Декабрь 2011 - 17:59

Понятно, спасибо.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных