powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / а как кто делает inc/dec на месяц в дате?
10 сообщений из 10, страница 1 из 1
а как кто делает inc/dec на месяц в дате?
    #32795789
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в досовой фоксе я писал две своих функции addmonth и decmonth, в которую передавал дату, а возвращалась дата увеличенная или уменьшенная на 1 месяц, на первое число, те из 10.09.2004 получалось 01.10.2004 или 01.08.2004. функция работала путем добавления или отнимания 1 в цикле.

в хелповом списке среди всяческих фукций ничего подобного я не нашел, что, никому не требуется или как-то можно умнее это делать?
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32795803
GOMONTH(dExpression | tExpression, nNumberOfMonths)
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32795817
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, GOMONTH есть в FPD26
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32796260
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо!
действительно есть такая функция, и надо же, если сделать говмонс("31.01.2003",1) выдает 28.02.2003!!! правда жаль что не возвращает первое число нужной даты, но это ужо ньюансы... Главное что в хелпах не видел на нее see also, когда про датные функции читал.

А скажите, мож еще как-нить по-уму можно сравнить дату на совпадение по году и месяцу или только так вот
if month(date1)=month(date2) AND year(date1)=year(date2)
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32796360
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще несколько вариантов:

date1 - DAY(date1) = date2 - DAY(date2)

LEFT(DTOS(date1),6) = LEFT(DTOS(date2),6)

DTOS(date1) = LEFT(DTOS(date2),6) - поиск по фрагменту строки

* если date2 - это константа, то
BETWEEN(date1, date2 - DAY(date2) + 1, GOMONTH(date2 - DAY(date2) + 1,1))
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32796674
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А первый день месяца - это
Код: plaintext
date()-day(date())+ 1 
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32921092
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получается увеличение даты на месяц+ первое число делается в 2 прохода
date1=gomonth(date1,3)

date1=date1-day(date1)+1

или более громоздко, но в одну строчку, но с одним лишним исполнением gomonth(date1,3):

date1=gomonth(date1,3)-day(gomonth(date1,3))+1

или так, но с использованием кучи функций:

date1=ctod("01"+right(dtoс(gomonth(date1,3)),8)

инетересно, что обратной функции у DTOS нету...
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32921106
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не совсем обратная ctod()
хотя легким движением руки брюки превратяться в шорты
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32921375
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to CTAC-KO
Лови файлO мылом... Надеюсь пригодится... ;-)
...
Рейтинг: 0 / 0
а как кто делает inc/dec на месяц в дате?
    #32923480
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я то файло дома словил, думаю, что за?
Ок, перенесу на работу, гляну - thanx anyway!!!

СПАСИБО!!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / а как кто делает inc/dec на месяц в дате?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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