MyChat Scripts: функция ISOStrToDateTime — преобразовать ISO строку в дату и время

MyChat Scripts: функция ISOStrToDateTime — преобразовать ISO строку в дату и время

"Для разработчиков", "Серверные скрипты", "Описание функций", "Преобразования типов", "ISOStrToDateTime".

 

Функция переводит текстовую строку с датой и временем в ISO-формате ("yyyy-mm-dd hh:nn:ss") в double-значение даты и времени.

 

Синтаксис

function ISOStrToDateTime(const s: string): double;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

s

string

строка, содержащая дату и время в ISO-формате.

 

Результат функции

double-значение даты и времени. Если исходная строка некорректна, функция вернёт значение NoDate ("нет даты").

 

Пример

function Check(sISO: string): boolean;
var
  dt: double;
begin
  dt := ISOStrToDateTime(sISO);
  
    if dt <> NoDate then mLogScript(FormatDateTime('ddd d mmm yyyy hh:nn:ss', dt), 'OK')
      else mLogScript(sISO, 'ERROR');
end;

begin
  Check('2018-02-02 09:00:00');
  Check('01-01-2021 18:00:00');
  Check('Hello, world!');
  Check(FormatDateTime('yyyy-mm-dd hh:nn:ss:zzz', Now));
  Check(FormatDateTime('yyyy-mm-dd hh:nn:ss', IncYear(Now, -100)));
end.

Результат работы скрипта

[19:57:24] (Log "ISOStrToDateTime"): [OK] пт 2 февр. 2018 09:00:00

[19:57:24] (Log "ISOStrToDateTime"): [ERROR] 01-01-2021 18:00:00

[19:57:24] (Log "ISOStrToDateTime"): [ERROR] Hello, world!

[19:57:24] (Log "ISOStrToDateTime"): [OK] вт 19 янв. 2021 19:57:24

[19:57:24] (Log "ISOStrToDateTime"): [OK] ср 19 янв. 1921 19:57:24

[19:57:24] (Run "ISOStrToDateTime"): Время выполнения скрипта: 2 мс

[19:57:24] (Run "ISOStrToDateTime"): Скрипт выполнен успешно.

 

Ещё посмотреть

FormatDateTime

IncYear

mLogScript

Now