Информация об изменениях

Сообщение Re[5]: Стандартный список всевозможных форматов дат от 17.11.2020 8:56

Изменено 17.11.2020 9:41 netch80

Re[5]: Стандартный список всевозможных форматов дат
Здравствуйте, The Minister, Вы писали:

N>>Как именно ты будешь распознавать дату?

TM>Пользователю предлагается выбрать из списка, который я привел в 1-ом сообщении. Там уже отображаются форматы в текущей дате. Пользователю уже понятно где там месяц, а где день.

Не-а. Потому что ты уже записал в этот список формат 11/17/2020. Понимаешь? Ты уже смешал разные культуры в одну неразгребаемую кашу.

Если тебе нужно, например, только для русского — бери список стандартных форматов по нормативным документам. Если нет — не изобретай велосипед. Потому что ты будешь его изобретать вечно. Вот из списка vsb@:

en_US SHORT "11/17/20"
en_SG SHORT "17/11/20"
en_MT SHORT "17/11/2020"

es_PA SHORT "11/17/20"
es_VE SHORT "17/11/20"

всё, ты попал — у тебя нет однозначности в разборе, и тебе надо или выкинуть лишнее, или научиться с этим справляться через уточнение параметров источника (которые и зовутся locale у большинства и culture в дотнете).

N>>Вкури проблему

TM>Я не курю.

Не имеет значения, как именно ты будешь пытаться понять/прочувствовать/грок её, проблема остаётся и требует освоения.
Re[5]: Стандартный список всевозможных форматов дат
Здравствуйте, The Minister, Вы писали:

N>>Как именно ты будешь распознавать дату?

TM>Пользователю предлагается выбрать из списка, который я привел в 1-ом сообщении. Там уже отображаются форматы в текущей дате. Пользователю уже понятно где там месяц, а где день.

Не-а. Потому что ты уже записал в этот список формат 11/17/2020. Понимаешь? Ты уже смешал разные культуры в одну неразгребаемую кашу.

Если тебе нужно, например, только для русского — бери список стандартных форматов по нормативным документам. Если нет — не изобретай велосипед. Потому что ты будешь его изобретать вечно. Вот из списка vsb@:

en_US SHORT "11/17/20"
en_SG SHORT "17/11/20"
en_MT SHORT "17/11/2020"

es_PA SHORT "11/17/20"
es_VE SHORT "17/11/20"

всё, ты попал — у тебя нет однозначности в разборе, и тебе надо или выкинуть лишнее, или научиться с этим справляться через уточнение параметров источника (которые и зовутся locale у большинства и culture в дотнете).

N>>Вкури проблему

TM>Я не курю.

Не имеет значения, как именно ты будешь пытаться понять/прочувствовать/грок её, проблема остаётся и требует освоения.

UPD: Вообще у тебя самое неясное, хочешь ты выводить дату или считывать её.
Не знаю, зачем ты хочешь повторить вручную то, что уже сделано стандартно (и скорее всего тебе надо просто им дать выбрать локаль из списка, или одну на всё взаимодействие, или на конкретно короткую или полную дату), но 1) тебе надо обеспечить однозначность во всех конфликтных местах (типа тех же 07/04/20 или 04/07/20), 2) тебе надо не запутать пользователя и 3) тебе надо отработать специфичные хотелки — ну почему например "январь" но "1 января"? у других языков могут быть ещё более странные требования).

Если ты не видишь суровых причин делать всё самому — таки бери готовое и не парься.