powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Есть ли функция определения разницы двух дат в месяцах?
8 сообщений из 8, страница 1 из 1
Есть ли функция определения разницы двух дат в месяцах?
    #37240472
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли функция определения разницы двух дат в месяцах?
Например имеем:
Код: plaintext
1.
2.
3.
a = { 01 / 05 / 2012 }
b = { 01 / 04 / 2011 }

my_func(mm, a, b)
и получаем 13 месяцев
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37240494
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант простого вычитания одной даты из другой и делением на 30 - не подходит
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37240504
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то типа того как в sql - datediff()
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37240505
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переведи в месяцы и считай разницу:
Код: plaintext
month(a) + year(a) *  12 

Только тут все красиво если число 1-е, а что делать с такими сам решай:
Код: plaintext
1.
a = { 30 / 06 / 2011 }
b = { 30 / 05 / 2011 }
Код: plaintext
1.
a = { 30 / 05 / 2011 } && есть еще { 31 / 05 / 2011 }
b = { 30 / 04 / 2011 }
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37240534
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эту проблему не раз обсуждали, решения разные могут быть, однозначно правильных - нет.
Поищи по форуму по словам "количество месяцев", "количество лет"
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37240734
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пасиба, но решил задачу иначе
так как у меня есть жесткая привязка к первому числу месяца, то я с помощью gomonth определяю эту разницу, а так как разницы между датами не по 500 лет и самих записей которые я так обрабатываю не миллиарды, то такой вариант меня устраивает :)
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37240928
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"В общем случае" задача решения не имеет. Возможны только частные (локальные) решения, если отдаете себе отчет, где именно будет погрешность. Например, та же DateDiff() работает по определенным правилам. Подробности по ссылке

Как получить разницу двух дат в формате: лет, месяцев, дней
...
Рейтинг: 0 / 0
Есть ли функция определения разницы двух дат в месяцах?
    #37241682
Makrosa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TПереведи в месяцы и считай разницу:
Код: plaintext
month(a) + year(a) *  12 

Только тут все красиво если число 1-е, а что делать с такими сам решай:
Код: plaintext
1.
a = { 30 / 06 / 2011 }
b = { 30 / 05 / 2011 }
Код: plaintext
1.
a = { 30 / 05 / 2011 } && есть еще { 31 / 05 / 2011 }
b = { 30 / 04 / 2011 }


a1=DATE(YEAR(a),MONTH(a),1)
a2=GOMONTH(a1,1)-1
b1=DATE(YEAR(b),MONTH(b),1)
b2=GOMONTH(b1,1)-1
month(b1) + year(b1) * 12-(month(a1) + year(a1) * 12)+IIF(DAY(b2)-DAY(a2)>DAY(b1)-DAY(a1),0,1) && variant 1
month(b1) + year(b1) * 12-(month(a1) + year(a1) * 12)+IIF(DAY(b1)-DAY(a1)<0,0,1) && variant 2
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Есть ли функция определения разницы двух дат в месяцах?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]