Каково происхождение формата asctime? - PullRequest
0 голосов
/ 04 февраля 2019

Почему выбрано определенное символьное представление, которое возвращает функция asctime, т.е. Www Mmm dd hh:mm:ss yyyy\n, и каково его происхождение?Упорядочение информации кажется мне своеобразным, особенно размещение информации о времени между данными о дате.Является ли это (или это было) распространенным представлением даты и времени в США?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Это не распространенное представление в США, и C Rationale даже допускает столько же:

7.11 Локализация

....

Дата и время. Стандартная функция asctime возвращает строку, которая включает сокращения для названий месяцев и дней недели, и возвращает различные элементы в формате, который может считаться необычным даже в стране егоorigin.

Оглядываясь назад, это одна из тех функций, которые никогда не должны были превращаться в Стандарт.Отсутствие Обоснования, оправдывающего его включение, является явным признаком этого.

0 голосов
/ 04 февраля 2019

Это пришло непосредственно от C. Вероятно, год был добавлен позже.Также \n странно.Вероятно, удобная функция при сборке UNIX, и она стандартизирована с помощью.

Примечание: функция «устарела», и, возможно, она будет удалена в более поздней версии C. Она заменена на более мощную strftime().

POSIX не имеет никакого обоснования выбора.

ESR wrote:

В старых UnixesСледующие функции были доступны для сообщения времени и даты в виде строки.Они имеют неправильный выбор дизайна (строка даты имеет непредсказуемую длину и включает в себя завершающий символ "\ n"), не учитывают локали и ведут себя неопределенно в течение многих лет до 0 или после 9999.

У нас также мало информации из 7-го издания руководства (1979 г.) см. Справочные страницы .

Кто-то (Клайв Д. У. Перо) искал ту же информацию, что и вы(но напрямую к стандартной группе C), но я не нахожу ответа.Просто C99 были исправлены, потому что какая-то неточная электронная почта в той же теме .

Я думаю, будет трудно получить больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...