
C _Учебник_МОНУ
.pdf
Багатофайлові програми |
339 |
14) Розтлумачте відмінності між такими задаваннями констант:
#define nom 256 const int nom = 256;
15)Що розуміють під поняттям “тривалість життя змінної”?
16)Які існують специфікатори класів пам‟яті при оголошенні змінних у програмі? Який саме специфікатор призначається за замовчуванням?
17)Назвіть правила видимості змінних і функцій.
18)Які існують категорії області дії програмних об‟єктів? Охарактеризуйте кожний з них.
19)З якою метою оголошуються іменовані області (простори імен)?
20)Охарактеризуйте використання операції доступу “::”.
Розділ 10
Типи опрацювання дати і часу
10.1 Тип дата-час у С++
Функції й типи даних, необхідні для опрацювання дати і часу, оголошено у заголовному файлі time.h. Зокрема цей файл містить визначення типів даних time_t:
typedef long time_t; typedef long clock_t;
і структури tm, оголошеної в такий спосіб: struct tm
{int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year;
int tm_wday; int tm_yday; int tm_isdst;
};
Основні з цих функцій з описом їхньої роботи наведено у табл. 10.1.
|
Таблиця 10.1 |
|
Функції опрацювання дати і часу |
||
|
|
|
Синтаксис функції |
Опис роботи функції |
|
|
|
|
char *asctime |
Перетворює дату і час time з формату структури |
|
(struct tm time); |
типу tm на символьний рядок з 26-ти символів, який |
|
|
||
|
може мати вигляд |
|
|
Mon Jan 04 02:03:55 2010\n\0 |
|
|
Функція повертає вказівник на цей рядок |
|
clock_t clock(); |
Повертає процесорний час, який сплинув від почат- |
|
|
ку виконання програми, чи –1, якщо він є невідомий |
|
char *ctime(long *time); |
Перетворює час time формату long* у символьний |
|
|
рядок з 26 символів, який може вигляд: |
|
|
Mon Jan 04 02:03:55 2010\n\0 |
|
|
Функція повертає вказівник на цей рядок |
|
double difftime |
Повертає різницю поміж time2 і time1 типу |
|
(time_t time2, |
time_t, тобто час у секундах, який сплине від time2 |
|
time_t time1); |
||
до time1, як число з подвійною точністю |
||
|
|
|
Типи опрацювання дати і часу |
341 |
|
|
|
Закінчення табл. 10.1 |
||
|
|
|
|
|
|
Синтаксис функції |
Опис |
|
|
|
|
|
|
|
|
struct tm *gmtime |
Перетворює time типу long* до формату |
|
|
|
(long *time); |
структури tm |
|
|
|
|
|
|
|
|
struct tm *localtime |
Перетворює time типу long* до формату структури |
||
|
(long *time); |
tm з урахуванням зони місцевого часу, якщо попере- |
||
|
|
|||
|
|
дньо було задано глобальну змінну часової зони TZ |
||
|
time_t mktime |
Перетворює час і дату time формату структури tm |
||
|
(struct tm *time); |
до формату time_t |
|
|
|
|
|
|
|
|
char * _strdate |
Перетворює поточну дату на символьний рядок time |
||
|
(char *date); |
з 9 символів формату MM/DD/YY |
|
|
|
|
|
|
|
|
char * _strtime |
Перетворює поточний час на символьний рядок time |
||
|
(char *time); |
з 9 символів формату HH:MM:SS |
|
|
|
|
|
|
|
|
size_t strftime(char *s, |
Перетворює дату і час t формату структури tm |
|
|
|
size_t maxsize, |
на символьний рядок s розміром maxsize |
|
|
|
char *fmt, struct tm *t); |
|
|
|
|
у форматі fmt |
|
|
|
|
time_t time |
Повертає поточний календарний час |
|
|
|
(time_t *timer); |
(тобто час в секундах, який сплинув з півночі |
|
|
|
|
(00:00:00) 1 Січня 1970 за Грінвічем) |
|
|
|
void tzset(); |
Функція встановлює значення глобальних змінних |
||
|
|
daylight (ненульове значення типу int означає |
|
|
|
|
дозвіл переходу на літній час), timezone (значення |
||
|
|
типу long задає різницю в секундах поміж місцевим |
||
|
|
часом і часом за Грінвічем (GMT)) і tzname |
|
|
|
|
(рядок типу *char трилітерних часових зон) |
|
|
Проілюструємо роботу деяких з вищенаведених функцій на прикладі консольної програми для виведення поточної дати й часу в заданому форматі. Час виводитиметься у 12-годиному форматі.
#include <vcl.h> #pragma hdrstop #include <stdio.h> #include <time.h> #include <conio.h> #pragma argsused
//---------------------------------------------------------
int main(int argc, char* argv[])
{ struct tm *newtime; char *am_pm="PM";
time_t long_time; |
// Оголошення змінної long_time. |
time(&long_time); |
// Запис поточного часу до long_time. |
newtime=localtime(&long_time); // Перетворення long_time |
|
|
// на структуру newtime. |
if(newtime->tm_hour<12) |
//Якщо проминуло менше за 12 годин доби, |
am_pm="AM"; //відбудеться відповідне визначення рядку формату.

342 Розділ 10
if(newtime->tm_hour>12) // Якщо проминуло більше за 12 годин доби, newtime->tm_hour-=12; // відбудеться віднімання 12.
printf("%.20s %s\n", asctime(newtime), am_pm); getch(); return 0;
}
Результат виконання наведеної вище консольної програми матиме вигляд
Таке само завдання можна реалізувати дещо інакше:
#include <vcl.h> #pragma hdrstop #include <stdio.h> #include <time.h> #include <conio.h> #pragma argsused
//--------------------------------------------------------
int main(int argc, char* argv[])
{struct tm *time_now; time_t s_now;
char str[80]; tzset(); time(&s_now);
time_now = localtime(&s_now); strftime(str, 80,
"It is %M minutes after %I o'clock (%Z) %A, %B %d 20%y", time_now);
printf("%s\n",str); getch(); return 0;
}
10.2 Тип дата-час у С++ Builder
Для опрацювання дати й часу в С++ Builder існує спеціальний тип TDateTime. Змінна такого типу займає 8 байтів і за суттю є дійсним числом з фіксованою крапкою, ціла частина якого задає кількість днів, що минули починаючи з 30.12.1899, а дійсна частина цього числа – збіглу частину поточного дня, починаючи з 0 годин (час). Для роботи с даними типу TDateTime існує багато функцій і методів. У табл. 10.2 наведено функції перетворювання дати й часу на рядок та навпаки.
|
Типи опрацювання дати і часу |
343 |
|
|
|
|
Таблиця 10.2 |
|
|
|
Функції перетворювання дати й часу |
|
|
|
|
|
|
|
|
|
Синтаксис функції |
Опис |
|
|
|
|
|
|
|
|
AnsiString DateToStr |
Перетворює дату Date на рядок |
|
|
|
(TDateTime Date); |
|
|
|
|
TDateTime StrToDate |
Перетворює рядок S на дату |
|
|
|
(AnsiString S); |
|
|
|
|
AnsiString TimeToStr |
Перетворює час Time на рядок |
|
|
|
(TDateTime Time); |
|
|
|
|
TDateTime StrToTime |
Перетворює рядок S на час |
|
|
|
(AnsiString S); |
|
|
|
|
AnsiString DateTimeToStr |
Перетворює значення dtтипу TDateTime на рядок |
|
|
|
(TDateTime dt); |
|
|
|
|
TDateTime StrToDateTime |
Перетворює рядок S на дату і час типу TDateTime |
|
|
|
(AnsiString S); |
|
|
|
|
|
|
|
|
|
DateTimeToString |
Перетворює значення dt типу TDateTime |
|
|
|
(AnsiString &S, AnsiString |
на рядок S за форматом Format |
|
|
|
Format, TDateTime dt); |
|
|
|
|
AnsiString FormatDateTime |
Повертає рядок, як результат перетворення |
|
|
|
(AnsiString Format, |
значення dt типу TDateTime за форматом Format |
|
|
|
TDateTime dt); |
|
|
|
|
TDateTime StrToDateDef |
Функція намагається перетворити рядок S |
|
|
|
(AnsiString S, |
на дату типу TDateTime. Якщо перетворення |
|
|
|
TDateTime Default); |
|
|
|
|
відбулося, функція повертає це значення, |
|
|
|
|
|
|
|
|
|
|
а за випадку неможливості перетворення – |
|
|
|
|
значення Default |
|
|
|
TDateTime StrToDateTimeDef |
Функція намагається перетворити рядок S |
|
|
|
(AnsiString S, |
на дату і час типу TDateTime. Якщо перетворення |
|
|
|
TDateTime Default); |
|
||
|
відбулося, функція повертає це значення, |
|
|
|
|
|
|
|
|
|
|
а за випадку неможливості перетворення – |
|
|
|
|
значення Default |
|
|
|
TDateTime StrToTimeDef |
Функція намагається перетворити рядок S на час |
|
|
|
(AnsiString S, |
типу TDateTime. Якщо перетворення відбулося, |
|
|
|
TDateTime Default); |
|
||
|
функція повертає це значення, а за випадку |
|
|
|
|
|
|
|
|
|
|
неможливості перетворення – значення Default |
|
|
|
bool TryStrToDate |
Перетворює рядок S на дату dt типу TDateTime. |
|
|
|
(AnsiString S, |
Якщо перетворення відбулося, функція повертає |
|
|
|
TDateTime &dt); |
true, інакше повертає false |
|
|
|
|
|
|
|
|
bool TryStrToTime |
Перетворює рядок S на час dt типу TDateTime. |
|
|
|
(AnsiString S, |
Якщо перетворення відбулося, функція повертає |
|
|
|
TDateTime &dt); |
true, інакше повертає false |
|
|
|
|
|
|
|
|
bool TryStrToDateTime |
Перетворює рядок S на дату і час dt типу |
|
|
|
(AnsiString S, |
TDateTime. Якщо перетворення відбулося, |
|
|
|
TDateTime &dt); |
|
|
|
|
функція повертає true, інакше повертає false |
|
||
|
|
|

344 Розділ 10
У функціях DateTimeToString та FormatDateTime з табл. 10.2, викорис-
товується рядок форматування дат. У табл. 10.3 наведено значення специфікаторів формату дат.
|
Таблиця 10.3 |
|
Специфікатори формату дат |
|
|
Специфікатор |
Опис |
|
|
C |
Виведення дати і часу за заданою глобальною змінною |
|
ShortDateFormat |
d |
Виведення дня без початкових нулів (1 – 31) |
dd |
Виведення дня з початковим нулем (01 – 31) |
ddd |
Виведення дня у вигляді позначення (пн – нд) |
dddd |
Виведення дня у вигляді повної назви дня тижня |
|
(понеділок – неділя) |
m |
Виведення місяця без початкових нулів (1 – 12) |
mm |
Виведення місяця з початковими нулями (01 – 12) |
mmm |
Виведення місяця у вигляді позначень (січ – грд) |
mmmm |
Виведення повної назви місяця (січень – грудень) |
yy |
Виведення двох останніх цифр року (00 – 99) |
yyyy |
Виведення року у повному форматі (0000 – 9999) |
h |
Виведення годин без початкового нуля (0 – 23) |
hh |
Виведення годин з початковим нулем (00 – 23) |
n |
Виведення хвилин без початкового нуля (0 – 59) |
nn |
Виведення хвилин з початковим нулем (00 – 59) |
s |
Виведення секунд без початкового нуля (0 – 59) |
ss |
Виведення секунд з початковим нулем (00 – 59) |
am/pm |
Використання 12-годинної шкали та символів am або pm |
a/p |
Використання 12-годинної шкали і символів a або p |
У табл. 10.4 подано деякі поширені у застосуванні методи для роботи з даними типу TDateTime. Слід звернути увагу на синтаксис при використанні методів:
<змінна>.<метод>;
Наприклад: d.TimeString();
Таблиця 10.4
|
Деякі методи роботи з датою та часом |
|
|
|
|
Методи |
|
Опис |
|
|
|
CurrentDate() |
|
Повертає поточну дату |
CurrentTime() |
|
Повертає поточний час |
CurrentDateTime() |
|
Повертає поточні дату і час |
operator int |
|
Перетворює TDateTime на ціле число |
operator - |
|
Дозволяють зі значення дати (часу) віднімати, |
operator + |
|
додавати дати, числа типу double чи int |
DateString() |
|
Перетворює дату TDateTime на AnsiString рядок |
TimeString() |
|
Перетворює час TDateTime на AnsiString рядок |
Типи опрацювання дати і часу |
345 |
У табл. 10.5 в алфавітному порядку подано функції заголовних файлів DateUtils.hpp та SysUtils.hpp, поширені у застосовуванні при роботі з даними типу дати і часу.
|
Таблиця 10.5 |
|
Функції роботи з датою і часом |
||
|
|
|
Функції |
Опис |
|
int CompareDate |
Порівнює дві дати А та В і повертає: |
|
(TDateTime А, TDateTime В); |
значення 0, якщо дати є однакові; |
|
|
–1, якщо значення А є менше за В; |
|
|
1, якщо значення А є більше за В |
|
intCompareDateTime |
Порівнює два значення дати і часу А та В типу |
|
(TDateTime А, TDateTime В); |
TDateTime і повертає значення, подібне |
|
|
до результату функції CompareDate() |
|
intCompareTime |
Порівнює два значення часу А та В типу |
|
(TDateTime А, TDateTime В); |
TDateTime і повертає значення, подібне |
|
|
до результату у функції CompareDate() |
|
Word CurrentYear(); |
Повертає поточний рік (чотири цифри) |
|
TDateTime Date(); |
Повертає поточну системну дату |
|
Word DayOf(TDateTime dt); |
Повертає номер дня місяця дати dt |
|
|
(значення від 1 до 31). Функція є подібною до |
|
|
DayOfTheMonth() |
|
|
|
|
Word DayOfTheMonth |
Повертає номер дня місяця дати dt. Функція є |
|
(TDateTime dt); |
подібною до функції DayOf() |
|
|
||
Word DayOfTheWeek |
Визначає по dt день тижня від 1 (понеділок) |
|
(TDateTime dt); |
до 7 (неділя) |
|
int DayOfWeek |
Визначає по dt день тижня від 1 (неділя) |
|
(TDateTime dt); |
до 7 (субота) |
|
int DaysBetween (TDateTime |
Повертає цілу кількість днів поміж |
|
Now, TDateTime Athen); |
датами Now і Athen |
|
Word DaysInAMonth |
Повертає кількість днів у місяці Month року |
|
(Word Year, Word Month); |
Year |
|
|
|
|
Word DayOfTheYear |
Повертає кількість днів поміж датою dt і |
|
(TDateTime dt); |
31 грудня попереднього року |
|
Word DaysInYear |
Повертає кількість днів зазначеного у даті dt |
|
(TDateTime dt); |
року |
|
double DaySpan |
Повертає дійсне значення кількості днів поміж |
|
(TDateTime Now, |
Now і Athen (з урахуванням частини години) |
|
TDateTime Athen) |
|
|
|
|
|
DecodeDate (TDateTime Date, |
Виокремлює з дати Date рік Year, місяць Month і |
|
Word &Year, Word &Month, |
день Day |
|
Word &Day); |
||
|
||
|
|
|
DecodeDateDay |
Виокремлює з Date рік Year, і кількість днів |
|
(TDateTime Date, Word &Year, |
DayOfYear цього року |
|
Word &DayOfYear); |
|
346 |
Розділ 10 |
|
|
|
|
Продовження табл. 10.5 |
|
|
|
|
|
|
Синтаксис функції |
Опис |
|
|
|
|
|
bool DecodeDateFully (TDateTime |
Виокремлює з Date рік Year, місяць Month, |
|
|
Date, Word &Year, Word &Month, |
день Day і день тижня DayOfWeek; |
|
|
Word &Day, Word &DayOfWeek); |
|
||
якщо рік високосний, повертає true |
|
||
|
|
|
|
DecodeDateMonthWeek |
Виокремлює з дати Date рік Year, місяць |
|
|
(TDateTime Date, Word &Year, |
Month, тиждень місяця WeekOfMonth, день |
|
|
Word &Month, Word &WeekOfMonth, |
|
||
тижня DayOfWeek (1 – понеділок) |
|
||
Word &DayOfWeek); |
|
|
|
DecodeDateTime(TDateTime dt, |
Виокремлює з dt рік Year, місяць Month, |
|
|
Word &Year, Word &Month, Word |
день Day, годину Hour, хвилину Minute, |
|
|
&Day, Word &Hour, Word &Minute, |
|
||
секунду Second, мілісекунду MSec |
|
||
Word &Second, Word &MSec); |
|
|
|
DecodeDateWeek (TDateTime |
Виокремлює з дати Date рік Year, тиждень |
|
|
Date, Word &Year, Word |
року WeekOfYear і день тижня DayOfWeek |
|
|
&WeekOfYear, Word &DayOfWeek); |
|
||
(1 – понеділок) |
|
||
|
|
|
|
DecodeDayOfWeekInMonth |
Виокремлює з Date рік Year, місяць Month, |
|
|
(TDateTime Date, Word &Year, |
котрий раз NthDayOfWeek зустрічається |
|
|
Word &Month, Word &NthDayOfWeek, |
|
||
в місяці цей день тижня, день тижня |
|
||
Word &DayOfWeek); |
DayOfWeek (1 – понеділок) |
|
|
|
|
|
|
DecodeTime(TDateTime Time, |
Виокремлює з Time години Hour, |
|
|
Word &Hour, Word &Min, Word |
хвилини Min, секунди Sec |
|
|
&Sec, Word &MSec); |
|
||
і мілісекунди Msec |
|
||
|
|
|
|
TDateTime EncodeDate |
Формує значення типу TDateTime по року |
|
|
(Word Year, Word Month,Word Day); |
Year, місяцю Month і дню Day |
|
|
TDateTime EncodeDateDay (Word |
Формує значення TDateTime по року Year і |
|
|
AYear, Word DayOfYear); |
дню року DayOfYear |
|
|
TDateTime EncodeDateMonthWeek |
Формує значення TDateTime по року Year, |
|
|
(Word Year, Word Month, Word |
місяцю Month, тижню місяця WeekOfMonth і |
|
|
WeekOfMonth, Word DayOfWeek); |
дню тижня DayOfWeek |
|
|
|
|
|
|
TDateTime EncodeDateTime (Word |
Формує значення типу TDateTime |
|
|
Year, Word Month, Word Day, |
по року Year, місяцю Month, дню Day, |
|
|
Word Hour, Word Minute, Word |
|
||
годині Hour, хвилині Minute, |
|
||
Sec, Word MSec); |
|
||
секунді Sec, мілісекунді MSec |
|
||
|
|
|
|
TDateTime EncodeDateWeek |
Формує значення TDateTime по року Year, |
|
|
(Word Year, Word WeekOfYear, |
дню тижня DayOfWeek і тижню року |
|
|
Word DayOfWeek); |
|
||
WeekOfYear |
|
||
|
|
|
|
|
|
|
|
TDateTime |
Формує значення типу TDateTime |
|
|
EncodeDayOfWeekInMonth |
по року Year, місяцю Month, дню тижня |
|
|
(Word Year, Word Month, |
|
||
DayOfWeek і номера, котрий раз цей день |
|
||
Word NthDayOfWeek, |
|
||
тижня зустрічається в цьому місяці |
|
||
Word DayOfWeek); |
|
||
NthDayOfWeek |
|
||
|
|
|
|
|
|
|
|
|
Типи опрацювання дати і часу |
347 |
|
|
|
|
Продовження табл. 10.5 |
|
|
|
|
|
|
|
|
Синтаксис функції |
Опис |
|
|
|
|
|
|
|
TDateTime EncodeTime |
Формує час типу TDateTime по заданим |
|
|
|
(Word Hour, Word Min, |
значенням години Hour, хвилини Min, |
|
|
|
Word Sec, Word MSec) |
секунди Sec, милісекунди MSec |
|
|
|
|
|
|
|
|
TDateTime EndOfADay(Word |
Повертає час завершення заданого дня року |
|
|
|
Year, Word DayOfYear); |
DayOfYear певного року Year |
|
|
|
TDateTime EndOfADay(Word |
Повертає час завершення дня Day місяця Month |
|
||
Year, Word Month, Word Day); |
року Year |
|
|
|
TDateTime EndOfAMonth |
Повертає час завершення останнього дня |
|
|
|
(Word Year, Word Month); |
місяця Month року Year |
|
|
|
TDateTime EndOfAWeek |
Повертає час завершення дня тижня DayOfWeek |
|
||
(Word Year,Word WeekOfYear, |
тижня року WeekOfYear року Year |
|
|
|
Word DayOfWeek); |
|
|
|
|
TDateTime EndOfAYear |
Повертає час завершення року Year |
|
|
|
(Word AYear); |
|
|
|
|
TDateTime EndOfTheDay |
Повертає час завершення дати Date |
|
|
|
(TDateTime Date); |
|
|
|
|
TDateTime EndOfTheMonth |
Повертає час завершення місяця |
|
|
|
(TDateTime Date); |
зазначеної дати Date |
|
|
|
TDateTime EndOfTheWeek |
Повертає час завершення тижня |
|
|
|
(TDateTime Date); |
зазначеної дати Date |
|
|
|
TDateTime EndOfTheYear |
Повертає час завершення року зазначеної |
|
|
|
(TDateTime Date); |
дати Date |
|
|
|
Word HourOf(TDateTime dt); |
Повертає значення години (від 0 до 23) заданого |
|
||
|
|
часу dt. Функція є подібною до HourOfTheDay() |
|
|
Word HourOfTheDay |
Повертає значення години (від 0 до 23) заданого |
|
||
(TDateTime dt); |
часу dt. Функція є подібною до HourOfDay() |
|
|
|
Word HourOfTheMonth |
Повертає кількість годин від початку місяця |
|
|
|
(TDateTime dt); |
зазначеної дати dt |
|
|
|
Word HourOfTheWeek |
Повертає кількість годин від початку тижня |
|
|
|
(TDateTime dt); |
зазначеної дати dt |
|
|
|
Word HourOfTheYear |
Повертає кількість годин від початку року |
|
|
|
(TDateTime dt); |
зазначеної дати dt |
|
|
|
int HoursBetween |
Повертає цілу кількість годин поміж |
|
|
|
(TDateTime Now, |
Now і Athen |
|
|
|
TDateTime Athen) |
|
|
|
|
double HourSpan |
Повертає дійсне значення кількості годин поміж |
|
||
(TDateTime Now, |
Now і Athen (з урахуванням частини години) |
|
|
|
TDateTime Athen) |
|
|
||
|
|
|
||
|
|
|
||
void IncAMonth(Word &Year, |
Збільшує значення року, місяця і дня на задану |
|
||
Word &Month, Word &Day, |
кількість місяців NumbOfMonths; значення |
|
|
|
int NumbOfMonths); |
|
|
||
NumbOfMonths може бути від‟ємним |
|
|
||
|
|
|
|
|
TDateTime IncDay |
Збільшує дату dt на кількість днів NumbOfDays; |
|
||
(TDateTime dt, |
значення NumbOfDays може бути і від‟ємним |
|
|
|
int NumbOfDays); |
|
|
||
|
|
|
||
|
|
|
|
|
348 |
Розділ 10 |
|
|
|
|
Продовження табл. 10.5 |
|
|
|
|
|
|
Синтаксис функції |
Опис |
|
|
|
|
|
TDateTime IncHour |
Збільшує дату і час dt на кількість годин |
|
|
(TDateTime dt, |
NumbOfHours. Значення NumbOfHours може бути |
|
|
int NumbOfHours); |
|
||
і від‟ємним |
|
||
|
|
|
|
TDateTime IncMilliSecond |
Збільшує дату і час dt на кількість NumbOfMSec. |
|
|
(TDateTime dt, |
Значення NumbOfMSec може бути і від‟ємним |
|
|
int NumbOfMSec); |
|
||
|
|
||
TDateTime IncMinute |
Збільшує дату і час dt на кількість хвилин |
|
|
(TDateTime dt, |
NumbOfMinutes. Значення NumbOfMinutes |
|
|
int NumbOfMinutes); |
|
||
може бути і від‟ємним |
|
||
|
|
|
|
TDateTime IncMonth |
Збільшує дату dt на кількість місяців |
|
|
(TDateTime dt, |
NumbOfMonths. Значення NumbOfMonths може бути |
|
|
int NumbOfMonths); |
|
||
і від‟ємним |
|
||
|
|
|
|
TDateTime IncSecond |
Збільшує дату і час dt на кількість секунд |
|
|
(TDateTime dt, |
NumbOfSec. Значення NumbOfSec може бути |
|
|
int NumbOfSec); |
|
||
і від‟ємним |
|
||
|
|
|
|
TDateTime IncWeek |
Збільшує дату dt на кількість тижнів NumbOfWeeks. |
|
|
(TDateTime dt, |
Значення NumbOfWeeks може бути і від‟ємним |
|
|
int NumbOfWeeks); |
|
||
|
|
||
TDateTime IncYear |
Збільшує дату dt на кількість років NumbOfYears. |
|
|
(TDateTime dt, |
Значення NumbOfYears може бути і від‟ємним |
|
|
int NumbOfYears); |
|
||
|
|
||
|
|
|
|
bool IsInLeapYear |
Визначає належність дати Date |
|
|
(TDateTime Date); |
до високосного року |
|
|
bool IsLeapYear |
Визначає належність року Year |
|
|
(Word Year); |
до високосного року |
|
|
bool IsPM(TDateTime dt); |
Визначає належність часу dt |
|
|
|
|
до другої половини дня |
|
bool IsSameDay(TDateTime |
Повертає true, якщо обидві дати dt1 і dt2 (день, |
|
|
dt1, TDateTime dt2); |
місяць і рік) збігаються |
|
|
bool IsToday |
Повертає true, якщо дата dt є сьогоднішнім днем |
|
|
(TDateTime dt); |
|
|
|
|
|
|
|
bool IsValidDate |
Визначає допустимість значень року, місяця та дня |
|
|
(Word Year, Word Month, |
і повертає true, якщо Year належить діапазону |
|
|
Word Day); |
від 1 до 9999 , Month – діапазону від 1 до 12, |
|
|
|
|
Day – діапазону від 1 до кількості днів цього |
|
|
|
місяця; інакше повертає false |
|
bool IsValidDateDay |
Подібно до функції IsValidDate() визначає |
|
|
(Word Year, |
допустимість значень року Year і дня року |
|
|
Word DayOfYear); |
|
||
DayOfYear |
|
||
|
|
|
|
|
|
|
|
bool IsValidDateMonthWeek |
Подібно до функції IsValidDate() визначає допу- |
|
|
(Word Year, Word Month, |
стимість значень року Year, місяця Month, номера |
|
|
Word WeekOfMonth, |
тижня цього місяця WeekOfMonth і дня тижня |
|
|
Word DayOfWeek); |
DayOfWeek (від 1 до 7) |
|