Функціональний блок STR2DT

Функціональний блок STR2DT перетворює будь-яку дату, вказану у текстовому форматі англійською мовою, на нову дату.

Вхід IN

На вході передається дата та час у форматі DT#.

Вхід STR

Визначає рядок символів для обчислення дати.

На вході можна визначити дату до 1970. Для цього використовується формат, як "12/25/0000", що відповідає першому Різдву. При цьому перше число 12 — це місяць, а друге 25 — день. Рік має бути введений чотиризначно, інакше буде прийнято значення року 2000.

Використані символи
Опис Формат
Назва дня 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
Дні тижня 'weekday' | 'weekdays'
Число [+-]?[0-9]+
Порядкові числівники 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
Відносні тексти 'next' | 'last' | 'previous' | 'this'
Пробіли [ \t]+
Одиниці виміру (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext
Нотації на основі дня
Формат Опис Приклади
'yesterday' Північ минулого дня. "yesterday 14:00"
'midnight' Час встановлюється на 00:00:00.
'today' Час встановлюється на 00:00:00.
'now' Ігнорується.
'noon' Час встановлюється на 12:00:00. "yesterday noon"
'tomorrow' Північ наступного дня.
'back of' hour 15 хвилин пізніше від певної години. "back of 7pm", "back of 15"
'front of' hour 15 хвилин раніше від певної години. "front of 5am", "front of 23"
'first day of' Встановлює день на перший день місяця поточного місяця. Це також працює з вказаним місяцем і роком. "first day of January 2008"
'last day of' Встановлює день на останній день місяця поточного місяця. Це також працює з вказаним місяцем і роком. "last day of next month"
ordinal space dayname space 'of' Обчислює x-й день тижня в місяці. "first sat of July 2008"
'last' space dayname space 'of' Обчислює останній день тижня в місяці. "last sat of July 2008"
number space? (unit | 'week') Обчислює відносний зсув щодо поточної дати. "+5 weeks", "12 day", "-7 weekdays"
ordinal space unit Обчислює відносний час до вказаної одиниці. "fifth day", "second month"
'ago' Обчислює момент часу у зворотному напрямку. "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago"
dayname Переходить до наступного дня тижня. "Monday"
reltext space 'week' Обчислює спеціальний формат "weekday + last/this/next week". "Monday next week"

Вихід DT

Повертає обчислену дату та час у форматі DT#.

Вихід ERR

У разі помилки вихід є істинним.