B.1. Интерпретация данных даты и времени
Строки с датой/временем разбираются при вводе по следующему алгоритму.
- Разделить входную строку на фрагменты и определить каждый фрагмент как строку, время, часовой пояс или цифру. - Если числовой фрагмент содержит двоеточие ( - :), значит эта строка представляет время. Включаются все последующие цифры и двоеточия.
- Если числовой фрагмент содержит тире ( - -), косую черту (- /) или две и более точек (- .), то это строка даты, которая, возможно, включает название месяца. Если фрагмент даты уже встречался, он интерпретируется как название часового пояса (например,- America/New_York).
- Если этот фрагмент является лишь числом, он представляет собой отдельное поле или составную дату ISO 8601 (например, - 19990113для 13 января 1999 года) или время (например,- 141516для 14:15:16).
- Если фрагмент начинается с плюса ( - +) или минуса (- -), то это или числовой часовой пояс или специальное поле.
 
- Если фрагмент содержит только буквы, сопоставить его с возможными строками: - Проверить, не совпадает ли фрагмент с известной аббревиатурой часового пояса. Эти аббревиатуры считываются из файла конфигурации, описанного в Разделе B.4. 
- Если фрагмент не найден, проверить во внутренней таблице, не совпадает ли он со специальной строкой (например, - today), днём недели (например,- Thursday), месяцем (например,- January) или игнорируемым словом (например,- at,- on).
- Если фрагмент всё же не найден, выдать ошибку. 
 
- Когда фрагмент является числом или числовым полем: - Если получено восемь или шесть цифр и никакое другое поле даты ранее не было прочитано, интерпретировать их как «составленную дату» (например, - 19990118или- 990118). Такая дата интерпретируется как- ГГГГММДДили- ГГММДД.
- Если фрагмент представляет собой трёхзначное число, и год уже был прочитан, интерпретировать как день года. 
- Если это четыре или шесть цифр и год уже был прочитан, интерпретировать как время ( - ЧЧММили- ЧЧММСС).
- Если найдены три или более цифр, а поля даты ещё не были найдены, интерпретировать как год (это ведёт к установке порядка гг-мм-дд для оставшихся полей даты). 
- В противном случае подразумевается, что порядок сортировки полей даты определяется значением - DateStyle: мм-дд-гг, дд-мм-гг или гг-мм-дд. Выдать ошибку, если оказалось, что поле месяца или дня вышло за пределы диапазона.
 
- Если указан год до н. э., отнять год и добавить единицу для внутреннего хранения. (В григорианском календаре отсутствует нулевой год, поэтому 1 год до н. э. становится нулевым.) 
- Если год до н. э. не был указан, и если поле года имело два разряда, установить для записи года четыре разряда. Если поле меньше 70, добавить 2000, в противном случае добавить 1900. - Подсказка- Годы с 1 по 99 н. э. по григорианскому календарю могут вводится при помощи четырёхзначного числа с начальными нулями (например, - 0099это год 99 н. э.).