Библиотека работы с датой и временем через объекты

Автор:dik
Дата:20.01.2005
Просмотров:2088
Скачиваний:705
Оценка: - , Оценок - 0
Скачать (zip-файл; Размер - 32877)

Обсудить в форуме

Описание

Небольшая библиотека работы с датами и временем
через собственные классы
для работы нужен strlibr.d32;

16-02-2005
Для упрощения работы с объеками, добавил в библиотеку две функции

1-04-2005
Исправлена ошибка в методе НомерКвартала и к тому же исправил название этого метода, раньше был НомерКартала (спасибо Willy)

// Ниже функции для облегчения работы с объеками Дата и Время (логично предложил Павельев Н.В.)
// пример: Дата_TDate(ДатаДолга).НомерМесяца

MACRO Дата_TDate(_date:date)
return genobject("TDate",_date);
END;

MACRO Время_TTime(_time:time)
return genobject("TTime",_time);
END;


Список методов

Класс:
TDATE
Методы:
Дата (_date)
Месяц(_date)
Год(_date)
День(_date )
Прописью(_date)
МесяцПрописью( _date)
ДатаВФорматеДДММ(_Дата,_Разделитель:string)
ДатаВФорматеММДД(_Дата,_Разделитель:string)
ДатаВФорматеДДММГГ(_Дата,_Разделитель:string)
ДатаВФорматеГГММДД(_Дата,_Разделитель:string)
ДатаВФорматеГГГГММДД(_Дата,_Разделитель:string)
ДатаВФорматеГГММ( _Дата,_Разделитель:string)
СтрокаГГГГММДДвДату(_Строка)
СтрокаГГММДДвДату(_Строка)
НомерДняВГоду( _date ) // Юлианская дата
СтрокаДД_ММ_ГГвДату(_Строка) // дата в строке разбита каким-либо разделителем
СтрокаДД_ММ_ГГГГвДату(_Строка)
СтрокаММ_ДД_ГГвДату(_Строка)
ДатаПоНомеруДняВГоду( _НомерДня:integer, _Год:integer ) // из Юлианской даты - год если не указан текущий
ПервыйДеньМесяца (_date) //получить дату с первым числом месяца
ПоследнийДеньМесяца (_date)
ПоследнийДеньГода (_date)
ДнейВГоду(_date)
ВисокосныйГод(_date)
ДеньНедели(_date)
ДеньНеделиПрописью(_date)
ДнейВМесяце( _date )
ДобавитьМесяц(_date,_КоличествоМесяцев)
ДобавитьГод(_date,_КоличествоГодов)
ПоследнийДеньКвартала(_date)
ПервыйДеньКвартала(_date)
НомерКвартала(_date)

================================================================================

Класс:
TTIME
Методы:
Время(_time)
Час(_time)
Минута(_time)
ВремяВФорматеЧЧММСС(_Время:time)

Текст примера

 // несколько примерчиков
var Дата=TDate;

ФлагВисокосныйГод=Дата.ВисокосныйГод(date(1,1,2004));
ПервыйДеньМесяца=Дата.ПервыйДеньМесяца(date());
ПервыйДеньКвартала=Дата.ПервыйДеньМесяца(_date);

// новый пример
ФлагВисокосныйГод=Дата_TDATE(date(1,1,2004)).ВисокосныйГод;
// или
ФлагВисокосныйГод=Дата_TDATE().ВисокосныйГод(date(1,1,2004));