4.3. Устаревшие форматы даты и времени
Устаревший сиснтаксис для полей даты допускает использование 2 цифр для указания года, а также разрешает буквенные обозначения часовых поясов, которые использовались в ранних версиях спецификации. Этот синтаксис также позволяет включение комментариев и фальцовочных пробелов между большинством лексем.
obs-day-of-week = [CFWS] day-name [CFWS] obs-day = [CFWS] 1*2DIGIT [CFWS] obs-year = [CFWS] 2*DIGIT [CFWS] obs-hour = [CFWS] 2DIGIT [CFWS] obs-minute = [CFWS] 2DIGIT [CFWS] obs-second = [CFWS] 2DIGIT [CFWS] obs-zone = "UT" / "GMT" / ; Смещение от UT для Северной Америки "EST" / "EDT" / ; восток: - 5/ - 4 "CST" / "CDT" / ; центр: - 6/ - 5 "MST" / "MDT" / ; горы: - 7/ - 6 "PST" / "PDT" / ; тихоокеанское побережье: - 8/ - 7 ; %d65-73 / ; Военные часовые пояса — от A %d75-90 / ; до I и от K %d97-105 / ; до Z, %d107-122 ; в верхнем и нижнем регистре
При использовании 2 или трех цифр в поле года интерпретация выполняется следующим образом — если 2-значное обозначение года лежит в диапазоне от 00 до 49, к значению прибавляется 2000, т. е., год принимает значение от 2000 до 2049; если 2-значное обозначение года лежит в диапазоне от 50 до 99, к значению прибавляется 1900.
У устаревших часовых поясах идентификаторы «UT» и «GMT» указывают на «универсальное время» и «время по Гринвичу», соответственно; оба значения семантически эквивалентны «+0000».
Оставшиеся три символа часового пояса являются обозначениями часовых поясов США. Первая буква («E», «C», «M» или «P») означает «Eastern» (восточный), «Central» (центральный), «Mountain» (горный) и «Pacific» (тихоокеанский). Вторая буква может быть «S» (Standard — стандартное время) или «D» (Daylight Savings — летнее время).
Ниже приводится интерпретация используемых значений.
- EDT семантически эквивалентно -0400
- EST семантически эквивалентно -0500
- CDT семантически эквивалентно -0500
- CST семантически эквивалентно -0600
- MDT семантически эквивалентно -0600
- MST семантически эквивалентно -0700
- PDT семантически эквивалентно -0700
- PST семантически эквивалентно -0800
Один символ военного часового пояса был определен нестандартным способом в [RFC0822] и, следовательно, его значение непредсказуемо. Исходные определения военных часовых поясов от «A» до «I» эквивалентны поясам от «+0100» до «+0900», соответственно; «K», «L» и «M» эквивалентны «+1000», «+1100» и «+1200», соответственно; «N» — «Y» эквивалентны поясам от «-0100» до «-1200», соответственно; «Z» эквивалентно «+0000». Однако в результате ошибки в [RFC0822] все эти обозначения следует трактовать, как эквивалентные «-0000» если явно не задано иное их толкование.
В почтовых сообщениях Internet применяются и другие многосимвольные (обычно от 3 до 5 букв) обозначения часовых поясов. Все обозначения, смысл которых непонятен, следует трактовать, как эквивелент «-0000» если явно не указано иное их толкование.
4.4. Устаревшая адресация
В адресации имеется четыре основных различия. Во-первых, в адресе почтового ящика разрешалось использовать перед addr-spec маршрутную часть, заключенную в угловые скобки. Маршрут является просто списком разделенных запятыми доменных имен, каждое из которых имеет префикс «@»; для завершения списка используется двоеточие (:). Во-вторых, разрешалось включать символы CFWS между разделенными точками элементами локальной части и домена (т. е., лексема dot-atom не использовалась). Кроме того, в local-part можно было в дополнение к атомам включать строки в кавычках. В-третьих, разрешалось включать в списки почтовых ящиков (mailbox-list) и списки адресов (address-list) пустые (null) элементы. Т. е., в списке могли следовать две или более запятых подряд, а также разрешалось присутствие запятых в начале и в конце списков. В-четвертых, разрешалось использовать управляющие символы US-ASCII и пары с квотированием в доменных литералах.
obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS] obs-route = obs-domain-list ":" obs-domain-list = *(CFWS / ",") "@" domain *("," [CFWS] ["@" domain]) obs-mbox-list = *([CFWS] ",") mailbox *("," [mailbox / CFWS]) obs-addr-list = *([CFWS] ",") address *("," [address / CFWS]) obs-group-list = 1*([CFWS] ",") [CFWS] obs-local-part = word *("." word) obs-domain = atom *("." atom) obs-dtext = obs-NO-WS-CTL / quoted-pair
При интерпретации адресов маршрутную часть следует игнорировать.