powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как определить день недели???
7 сообщений из 7, страница 1 из 1
Как определить день недели???
    #32399486
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как опеделить день недели...
...
Рейтинг: 0 / 0
Как определить день недели???
    #32399504
123456789098
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот те модуль внем все есть


DateLib.h
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
// ---------------------------------------------------------------------------
 

#ifndef DateLibH
#define DateLibH
#include <system.hpp>
#include <Classes.hpp>

// ---------------------------------------------------------------------------
 
typedef struct{ char* Name[ 6 ];}TMonthName;
// 0 -(Именительный-кто?что?), 1 -(Родительный-кого?чего?), 2 -(Дательный-кому?чему?), 3 -(Винительнвй-кого?что?), 4 -(Творительный-кем?чем?), 5 -(Предложный-о ком?о чем?)
const TMonthName MonthName[ 12 ]={ "Январь"   , "Января"   , "Янарю"    , "Январь"   , "Январем"   , "Январе"   ,
                                 "Февраль"  , "Февраля"  , "Февралю"  , "Февраль"  , "Февралём"  , "Феврале"  ,
                                 "Март"     , "Марта"    , "Марту"    , "Март"     , "Мартом"    , "Марте"    ,
                                 "Апрель"   , "Апреля"   , "Апрелю"   , "Апрель"   , "Апрелем"   , "Апреле"   ,
                                 "Май"      , "Мая"      , "Маю"      , "Май"      , "Маем"      , "Мае"      ,
                                 "Июнь"     , "Июня"     , "Июню"     , "Июнь"     , "Июнем"     , "Июне"     ,
                                 "Июль"     , "Июля"     , "Июлю"     , "Июль"     , "Июлем"     , "Июле"     ,
                                 "Август"   , "Августа"  , "Августу"  , "Август"   , "Августом"  , "Августе"  ,
                                 "Сентябрь" , "Сентября" , "Сентябрю" , "Сентябрь" , "Сентябрем" , "Сентябре" ,
                                 "Октябрь"  , "Октября"  , "Октябрю"  , "Октябрь"  , "Октябрем"  , "Октябре"  ,
                                 "Ноябрь"   , "Ноября"   , "Ноябрю"   , "Ноябрь"   , "Ноябрем"   , "Ноябре"   ,
                                 "Декабрь"  , "Декабря"  , "Декабрю"  , "Декабрь"  , "Декабрем"  , "Декабре" 
                              };
typedef struct{ char* Name[ 6 ];}TWeekName;
const TWeekName WeekDayName[ 7 ]={ "Понедельник" , "Понедельника" , "Понедельнику" , "Понедельник" , "Понедельником" , "Понедельнике" ,
                                 "Вторник"     , "Вторника"     , "Вторнику"     , "Вторник"     , "Вторником"     , "Вторнике"     ,
                                 "Среда"       , "Среды"        , "Среде"        , "Среду"       , "Средой"        , "Среде"        ,
                                 "Четверг"     , "Четверга"     , "Четвергу"     , "Четверг"     , "Четвергом"     , "Четверге"     ,
                                 "Пятница"     , "Пятницы"      , "Пятнице"      , "Пятницу"     , "Пятницей"      , "Пятнице"      ,
                                 "Суббота"     , "Субботы"      , "Субботе"      , "Субботу"     , "Субботой"      , "Субботе"      ,
                                 "Воскресенье" , "Воскресенья"  , "Воскресенью"  , "Воскресенье" , "Воскресеньем"  , "Воскресенье" 
                               };
// ---------------------------------------------------------------------------
 
AnsiString GetMonthName(TDateTime aDate,int pad);
int MonthNo(TDateTime aDate);
int DayInMonth(TDateTime aDate);
int DayOfWeek(TDateTime aDate);
AnsiString NameOfDayOfWeek(TDateTime aDate,int pad);
void GetMonthNameList(TStringList *MonthList);


// ---------------------------------------------------------------------------
 
#endif



DateLib.c

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
// ---------------------------------------------------------------------------
 


#pragma hdrstop

#include  "DateLib.h" 

// ---------------------------------------------------------------------------
 

#pragma package(smart_init)
// ---------------------------------------------------------------------------
 
AnsiString GetMonthName(TDateTime aDate,int pad){
   unsigned short year;
   unsigned short month;
   unsigned short day;
   aDate.DecodeDate(&year,&month,&day);
   return MonthName[month- 1 ].Name[pad- 1 ];
};
// ---------------------------------------------------------------------------
 
int MonthNo(TDateTime aDate){
   unsigned short year;
   unsigned short month;
   unsigned short day;
   aDate.DecodeDate(&year,&month,&day);
   return month;
};
// ---------------------------------------------------------------------------
 
int DayInMonth(TDateTime aDate){
   unsigned short year;
   unsigned short month;
   unsigned short day;
   aDate.DecodeDate(&year,&month,&day);
   month++;
   if(month> 12 ){
      month= 1 ;
      year++;
   };
   TDateTime dt(year,month,day);
   dt=dt- 1 ;
   dt.DecodeDate(&year,&month,&day);
   return day;
};
// ---------------------------------------------------------------------------
 
int DayOfWeek(TDateTime aDate){
   int dow=Sysutils::DayOfWeek(aDate)- 1 ;
   if(dow== 0 )dow= 7 ;
   return dow;
};
// ---------------------------------------------------------------------------
 
AnsiString NameOfDayOfWeek(TDateTime aDate,int pad){
   return WeekDayName[Sysutils::DayOfWeek(aDate)- 1 ].Name[pad- 1 ];
};
// ---------------------------------------------------------------------------
 
void GetMonthNameList(TStringList *MonthList){
   if(!MonthList){MonthList=new TStringList();};
   for(int i= 0 ;i<= 11 ;i++){
     MonthList->Add(MonthName.Name[ 0 ]);
   };
};
// [i]---------------------------------------------------------------------------
 
void GetWeekNameList(TStringList *WeekList){
   if(!WeekList){WeekList=new TStringList();};
   for(int i= 0 ;i<= 6 ;i++){
     WeekList->Add(WeekDayName[i].Name[ 0 ]);
   };
};
//---------------------------------------------------------------------------
...
Рейтинг: 0 / 0
Как определить день недели???
    #32399510
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО =)))
...
Рейтинг: 0 / 0
Как определить день недели???
    #32399528
Fib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Fib
Гость
можно и попроще, стандартными средствами:
посмотри в MSDN операции с SYSTEMTIME

typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
...
} SYSTEMTIME, *PSYSTEMTIME;
...
Рейтинг: 0 / 0
Как определить день недели???
    #32400473
123456789098
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Fib
Ну на самом деле в модуле используется та же функция, только добавлены всякие сервися типа получения название дня недели, а так же приведено к нормальной системе ... (когда неделя начинается с понедельника а не с воскресенья)
...
Рейтинг: 0 / 0
Как определить день недели???
    #32400717
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 FaTsO'

тыж роде юзаешь MSSQL ???
ну дык просто запросом незячтоль ?? exec DatePart(...) ?
____
...
Рейтинг: 0 / 0
Как определить день недели???
    #32400812
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JibSkeart
А точно...совсем забыл...=)))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как определить день недели???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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