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"): Скрипт выполнен успешно.