
Функциональный блок STR2DT переводит произвольную дату, указанную в текстовом формате на английском языке, в новое значение даты.
На вход подается дата и время в формате DT#.
Определяет строку для вычисления даты.
На вход можно подать дату до 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#.
При возникновении ошибки выход принимает значение Истина.