|
Преобразование даты
|
|||
---|---|---|---|
#18+
Привет. Хранение даты в виде строки продолжает быть геморроем. В WEB-проекте я поставляю юзерам некий XML-темплейт, в котором даты хранятся в виде 01/24/2013. По-американски. Код, который преобразует эту дату, таков: DateTime.TryParse(dtStr, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt) Теперь французский юзер прогружает этот темплейт и пытается преобразовать дату. Облом. Его клиентский формат 01-24-2013 почему-то не парсит 01/24/2013 с опцией CultureInfo.InvariantCulture. Как фикснуть? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 02:24 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanza, DateTime.TryParseExact(dtStr,"dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 05:36 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanzaКак фикснуть? Не изобретать велосипед. Для XML существует свой собственный формат даты - XSD dateTime: http://www.w3.org/TR/xmlschema-2/#dateTime . Строка такого формата конвертируется в собственно дату посредством round-trip format specifier: http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Roundtrip ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 05:59 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanzaПривет. Хранение даты в виде строки продолжает быть геморроем. В WEB-проекте я поставляю юзерам некий XML-темплейт, в котором даты хранятся в виде 01/24/2013. По-американски. Код, который преобразует эту дату, таков: DateTime.TryParse(dtStr, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt) Теперь французский юзер прогружает этот темплейт и пытается преобразовать дату. Облом. Его клиентский формат 01-24-2013 почему-то не парсит 01/24/2013 с опцией CultureInfo.InvariantCulture. Как фикснуть? Спасибо. для хранения дат в строках существует специальный шаблон обратного преобразования "O" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 10:07 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
Спасибо за ответы. Никакого "специфического для XML" формата не существует. Формат О - это всего лишь микрософтовское имплементирование ISO8601. С таким же успехом я мог бы записывать тики для даты. Или по-старинке, число дней с 01-01-1970. В строке было бы целое число безо всяких проблем преобразования. Но. Уточню свою проблему: в темлейте дата записана в виде 10/24/2013. На десятки хостов * десятки темплейтов задеплоин такой формат. Как переписать код, который парсил бы такую дату, под en-US и fr-Fr без проблем. Все что я могу сделать малой кровью - задеплоить новый код, а не переделывать десятки темплейтов. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 17:47 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
фиганыч >DateTime.TryParseExact(dtStr,"dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt) Пожалуй, то что нужно Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 18:00 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanzaНикакого "специфического для XML" формата не существует. Формат О - это всего лишь микрософтовское имплементирование ISO8601. Да ну? А как нас первой ссылки вот здесь: 15444700 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 18:19 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanza Как переписать код, который парсил бы такую дату, под en-US и fr-Fr без проблем. при парсинге используй штатовскую культуру , а не инвариантную ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 18:38 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Ну да. Там же русским по белому написано: ISO 8601. Дефолтный формат в JS для даты является именно ISO 8601. Дефолтный формат для хранения даты в кукях именно ISO 8601. Но стадартом является ISO, а не "специальный формат" в XML или Javascript-е. Я не против, если вы вводите какие-то новые определения. Но так сложнее понять друг друга, только и всего. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2014, 20:57 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanzaНу да. Там же русским по белому написано: ISO 8601. Там английским по белому написано: The value space of dateTime is closely related to the dates and times described in ISO 8601. Но это так, мелочи. mabanzaДефолтный формат в JS для даты является именно ISO 8601. Дефолтный формат для хранения даты в кукях именно ISO 8601. Но стадартом является ISO, а не "специальный формат" в XML или Javascript-е. Чем дальше в лес, тем толще партизаны. Вот к первоначальной постановке проблемы уже и JS с cookies добавились. Ничего, что изначально речь шла только об XML? mabanzaЯ не против, если вы вводите какие-то новые определения. Это - не новое определение. W3C-стандарт закрепляет этот формат ISO 8601 как стандарт для представления даты в XML. Вся типизация в документах делается именно по этому стандарту. Если бы ваши темплейты валидировались по схеме, в которой был бы задан именно тип xs:dateTime, то при значении 01/24/2013 у вас бы валидация рванула с ошибкой Код: plaintext
Все XML-парсеры при работе с датой работают именно с этим форматом, все XSLT-процессоры работают именно с этим форматом, причем независимо от платформы. Поэтому я не вижу причин не называть xs:dateTime (или, если вам угодно, ISO 8601) специфическим для XML форматом даты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2014, 06:36 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanzaНикакого "специфического для XML" формата не существует. Формат О - это всего лишь микрософтовское имплементирование ISO8601. В том-то и дело, что существует. И тебе объяснили что это за формат и как его нужно использовать в XML. mabanzaС таким же успехом я мог бы записывать тики для даты. Или по-старинке, число дней с 01-01-1970. В строке было бы целое число безо всяких проблем преобразования. Но. Причем тут тики? Речь конкретно о хранение даты в XML. Ты хранишь его через жопу. Отвечающие объясняют как хранить дату правильно. mabanzaУточню свою проблему: в темлейте дата записана в виде 10/24/2013. На десятки хостов * десятки темплейтов задеплоин такой формат. Да фиолетово, что и сколько там у тебя задеплоино. Твоя архитектура - гавно. Об этом и толкуют. Нравится заниматься онанизмом с парсингом - ради бога. А вменяемые люди используют нативную десериализацию с честной типизацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2014, 09:03 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
МСУ, Уважаемый МСУ Зачем вы грубите? Прошу вас больше на мои посты не отвечать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2014, 18:59 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
mabanza, умоляю, разреши мне отвечать на твои посты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2014, 21:59 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
МСУmabanza, умоляю, разреши мне отвечать на твои посты. де ты шляешься, гоу в asp.net ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2014, 07:15 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
hVosttде ты шляешься, гоу в asp.net Вот этими руками (показывает на свои руки) я воспитал и обучил честного добродушного тролля, запущенного в форум asp.net. Я спокоен за этот форум, теперь уж сам давай. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2014, 10:03 |
|
Преобразование даты
|
|||
---|---|---|---|
#18+
hVosttМСУmabanza, умоляю, разреши мне отвечать на твои посты. де ты шляешься, гоу в asp.net Чё там делать. Asp.Net отстой... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2014, 10:10 |
|
|
start [/forum/topic.php?fid=20&fpage=131&tid=1403381]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 147ms |
0 / 0 |