нужно высести период дат списком с DATE_1 по DATE_2 по дням в формате месяц - день ... т.е приблизительно так
02 - 01
02 - 02
02 - 03
02 - 04
.... и т.д. начальная дата жестко задана в программе (DATE_1) а вот конечная (DATE_2) идет как текущая ... как сделать такое , подскажите плиз .
>нужно высести период дат списком с DATE_1 по DATE_2 по дням в
>формате месяц - день ... т.е приблизительно так
>02 - 01
>02 - 02
>02 - 03
>02 - 04
>.... и т.д. начальная дата жестко задана в программе (DATE_1) а вот
>конечная (DATE_2) идет как текущая ... как сделать такое ,
>подскажите плиз .man time
man localtime
man strftime
Я так делаю:#define TS_STR_LEN 20
#define TS_STR_FMT "%d.%m.%Y %H:%M:%S"///////////////////////////////////////////////////////////////
static char ts[TS_STR_LEN];char *tstamp () {
time_t t = time (NULL);
struct tm *lt = localtime (&t);
size_t n = strftime (ts, TS_STR_LEN, TS_STR_FMT, lt);
return (ts);
}Это возврат текущего времени/даты в нужном формате.
У меня есть класс Date к которому я прикрутил оператор ++
Если очень нужно, - вышлю
>У меня есть класс Date к которому я прикрутил оператор ++
>Если очень нужно, - вышлюочень нужно .... буду очень благодарен. green-etc@mail.zp.ua
а ++ работает только к дням, или и к месяцам и годам ?
>>У меня есть класс Date к которому я прикрутил оператор ++
>>Если очень нужно, - вышлю
>
>очень нужно .... буду очень благодарен. green-etc@mail.zp.ua
>а ++ работает только к дням, или и к месяцам и годам
>?Класс Date работает следующим образом:
Date d // Текущая системная дата
Date d(28,03,1975) // заданная дата
++ добаляет int 1 к дате, в случае перехода из одного месяца в другой или из года в следующий, вроде бы работает корректно.
есть также операторы --, +=, -=, ==, !=
У класса есть члены: Day, Dow, Month, Year и Output, который выводи дату в формате дд/мм/гггг.вашу прогу можно было-бы оформить примерно так:
#include <datetime.h>
int main()
{
Date today;
Date d(d,m,y);
while (d!=today) {
d.Output();
d++;
}
today.Output();
return 0;
}
Вдогонку, если нужно вывести дату в ином, нужном для Вас формате, можно вывестиее таким образом:Date d;
printf("%d.%d.%d\n", d.Day(), d.Month(), d.Year());Вышлю исходники завтра
Вдогонку, если нужно вывести дату в ином, нужном для Вас формате, можно вывестиее таким образом:Date d;
printf("%d.%d.%d\n", d.Day(), d.Month(), d.Year());Вышлю исходники завтра
>нужно высести период дат списком с DATE_1 по DATE_2 по дням в
>формате месяц - день ... т.е приблизительно так
>02 - 01
>02 - 02
>02 - 03
>02 - 04
>.... и т.д. начальная дата жестко задана в программе (DATE_1) а вот
>конечная (DATE_2) идет как текущая ... как сделать такое ,
>подскажите плиз .получить текущую дату не проблема ...
мне нужно сделать список из дат в правильном формате начиная с заданой даты (прошлая) и до текущей (собственно текущая дата и нужна лишь для того, чтобы получить предел вывода, так как нужно вывести только месяц, или там 10 дней например)... пока только я получил текущую ... а потом с этим списком (а точнее с двумя, задав в одном начальную дату , а в другом конечную )что бы можно было вычислить разницу между ними в днях (ну или часах) ...