Домой Классы Статические функции Перечисления (ENUM) Структуры (STRUCTURE)

{Date_time|_manipulations}


(включая защищенные члены)

CLASS {Date_time|_manipulations} , ABSTRACT, NATIVE, TESTED :


Специальная структура {date_time} введена в этом абстрактном классе для хранения времени.


IMPORT : {NATIVE_Date_time} , {Mathematics} , {String_functions} .


------------------- 'структура для хранения переменных типа даты / времени'

  

STRUCTURE {date_time}

      REAL dt|_represents_date_and_time .


Тип структуры для хранения времени.


FUNCTION DT|_inner_real_value_in_milliseconds (
     
{date_time} V|alue_struncture ) ==> REAL



FUNCTION Date_time|_from_milliseconds (
     
REAL DT|_milliseonds_from_0BC ) ==> {date_time}



ENUMERATION {day|_of_week} :

        'SUNDAY|_WEEK' ,

        'MONDAY|_WEEK' ,

        'TUESDAY|_WEEK' ,

        'WEDNESDAY|_WEEK' ,

        'THURSDAY|_WEEK' ,

        'FRIDAY|WEEK' ,

        'SATURDAY|_WEEK' .


День недели.


-------------------------------------- 'создание переменной даты и времени'

   

FUNCTION Date|_encode (
     
INT Year|_e_g_2019 ,
     
INT Month|_date_1_to_12 ,
     
INT Day|_of_month_1_to_31 ) ==> {date_time}


Создание экземпляра переменной даты на основе известрых значений года, месяца, дня. Время выставляется в 0:00.


FUN get_Date (
     
INT Year|_date ,
     
INT Month|_1_to_12 ,
     
INT Day|_1_to_31 ) ==> REAL , NATIVE



FUNCTION Now|_date_time ==> {date_time}


Текущие дата и время (локальное).


FUN get_Now|_date_and_time ==> REAL , NATIVE



FUNCTION UTC_now|_date_and_time ==> {date_time}


Текущие дата и время (по Гринвичу).


FUN get_UTC|_now ==> REAL , NATIVE



---------------- 'добавление/вычитание дней/часов/минут/секунд/миллисекунд'


FUNCTION Add_months (
     
{date_time} DT|_source ,
     
INT M|onths_add_negative_to_subtract ) ==> {date_time}


Добавление или убавление месяцев к дате. Чтобы прибавить год, передавайте 12.


FUNCTION Add_days (
     
{date_time} DT_source ,
     
REAL D|ays_add ) ==> {date_time}


Добавление или убавление дней.


FUNCTION Add_hours (
     
{date_time} DT_source ,
     
INT Hours|_add ) ==> {date_time}


Добавление или убавление часов.


FUNCTION Add_minutes (
     
{date_time} DT_source ,
     
INT M|inutes_add ) ==> {date_time}


Добавление или убавление минут.


FUNCTION Add_seconds (
     
{date_time} DT_source ,
     
INT S|econds_add ) ==> {date_time}


Добавление или убавление секунд.


FUNCTION Add_millisec|onds (
     
{date_time} DT_source ,
     
INT MS|econds_add ) ==> {date_time}


Добавление или убавление милисекунд.


FUNCTION Difference|_in_days (
     
{date_time} A|fter_date_time ,
     
{date_time} B|efore_date_time ) ==> REAL


Разница между двумя датами в днях (но в виде вещественного числа, в котором целая часть - сутки, а дробная - части суток).


FUN Compare|_date (
     
{date_time} A|fter_date_time ,
     
{date_time} B|efore_date_time ) ==> REAL


Сравнение двух дат. Фактически, это разница между ними в миллисекундах (и долях миллисекунд, если возможно). Знак результата может использоваться для определения того, какое событие произошло раньше.


FUN Hours_diff|erence (
     
{date_time} A|fter_date_time ,
     
{date_time} B|efore_date_time ) ==> REAL


Разница между двумя датами в часах (но в виде вещественного числа, в котором целая часть - часы, а дробная - части часа).


FUN Minutes_diff|erenceate_time (
     
{date_time} A|fter_date_time ,
     
{date_time} B|efore_date_time ) ==> REAL


Разница между двумя датами в минутах (в виде вещественного числа, в котором целая часть - минуты, а дробная - части минуты).


FUN Seconds_diff|erenceate_time (
     
{date_time} A|fter_date_time ,
     
{date_time} B|efore_date_time ) ==> REAL


Разница между двумя датами в секундах (в виде вещественного числа, в котором целая часть - секунды, а дробная - части секунды).


FUN Milliseconds_diff|erenceate_time (
     
{date_time} A|fter_date_time ,
     
{date_time} B|efore_date_time ) ==> REAL


Разница между двумя датами в миллисекундах.


------------------------------------------ 'извлечение частей даты/времени'

        

FUN Only_date || Date_only ( {date_time} DT_source ) ==> {date_time}


Извлекает дату (зануляя время).


FUNCTION Year|_of_date (
     
{date_time} DT|_source ) ==> INT


Извлекает год.


FUN get_Year ( REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Month|_of_date_1_to_12 (
     
{date_time} DT|_source ) ==> INT


Извлекает месяц.


FUN get_Month ( REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Day|_of_date_1_to_31 (
     
{date_time} DT|_source ) ==> INT


Извлекает день месяца.


FUN get_Day|_of_month_1_to_31 (
     
REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Week_day|_of_date (
     
{date_time} DT|_source ) ==> {day}


Извлекает день недели.


FUN get_Week (
     
REAL D|ate_as_real ) ==> {day} , NATIVE



FUNCTION Hour|_of_date_0_to_23 (
     
{date_time} DT|_source ) ==> INT


Извлекает час.


FUN get_Hour ( REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Minute|_of_date_0_to_59 (
     
{date_time} DT|_source ) ==> INT


Извлекает минуты.


FUN get_Minute (
     
REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Second|_of_date_0_to_59 (
     
{date_time} DT|_source ) ==> INT


Извлекает скунды.


FUN get_Second (
     
REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Millisec|ond_of_date_0_to_999 (
     
{date_time} DT|_source ) ==> INT


Извлекает милисекунды.


FUN get_Msec (
     
REAL D|ate_as_real ) ==> INT , NATIVE



------------------------------------------ 'номер дня в году/месяце/неделе'

   

FUNCTION Day_of_year|_1_to_366 (
     
{date_time} DT|_source ) ==> INT


Извлекает день года.


FUN get_Day_of_year ( REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Days_in_month|_28_to_31 (
     
{date_time} DT|_source ) ==> INT


Возврашает число дней в месяце.


FUN get_Days_in_month ( REAL D|ate_as_real ) ==> INT , NATIVE



FUNCTION Is_leap_year ( INT Y|ear_of_date ) ==> BOOL



--------------------------------------------- 'форматирование даты/времени'

  

FUN S|tr|ing_representing_date_and_time_in_short_default_format (
     
{date_time} DT|_source ) ==> STR


Конвертирует дату/время в строку. Флорматы могут быть различны для разных платформ, локализаций, настроек пользователя в системе.


FUN Format|ted_date_time (
     
{date_time} DT|_source ,
     
STR F|ormat_string ) ==> STR


Форматирует дату/время в соответствии с указанным форматом.


FUN formatted|_date_time (
     
{date_time} DT|_source ,
     
STR F|ormat_string ) ==> STR



FUN Month_names|_English (
     
INT M|onth_number_1_to_12 INDEXING STR ) ==> STR


Названия месяцев года на английском языке: January, February, ...


FUN Weekday_2|_chars ( {day} W|eek_day ) ==> STR


Короткие 2-символьные названия дней недели: Su, Mo, Tu ...


FUN Weekday_name|s ( {day} W|eek_day ) ==> STR


Названия дней недели: Sunday, Monday ...


FUN all_bytes_as_hex ( STR S|tring_with_bytes ) ==> STR


END