powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Преобразование даты
19 сообщений из 19, страница 1 из 1
Преобразование даты
    #38532619
mabanza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Хранение даты в виде строки продолжает быть геморроем. В WEB-проекте я поставляю юзерам некий XML-темплейт, в котором даты хранятся в виде 01/24/2013. По-американски.
Код, который преобразует эту дату, таков:

DateTime.TryParse(dtStr, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)

Теперь французский юзер прогружает этот темплейт и пытается преобразовать дату. Облом. Его клиентский формат 01-24-2013 почему-то не парсит 01/24/2013 с опцией CultureInfo.InvariantCulture.

Как фикснуть?
Спасибо.
...
Рейтинг: 0 / 0
Преобразование даты
    #38532647
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mabanza,

DateTime.TryParseExact(dtStr,"dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)
...
Рейтинг: 0 / 0
Преобразование даты
    #38532652
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Преобразование даты
    #38532750
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mabanzaПривет.
Хранение даты в виде строки продолжает быть геморроем. В WEB-проекте я поставляю юзерам некий XML-темплейт, в котором даты хранятся в виде 01/24/2013. По-американски.
Код, который преобразует эту дату, таков:

DateTime.TryParse(dtStr, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)

Теперь французский юзер прогружает этот темплейт и пытается преобразовать дату. Облом. Его клиентский формат 01-24-2013 почему-то не парсит 01/24/2013 с опцией CultureInfo.InvariantCulture.

Как фикснуть?
Спасибо.

для хранения дат в строках существует специальный шаблон обратного преобразования "O"
...
Рейтинг: 0 / 0
Преобразование даты
    #38532756
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Преобразование даты
    #38533481
mabanza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы.
Никакого "специфического для XML" формата не существует. Формат О - это всего лишь микрософтовское имплементирование ISO8601. С таким же успехом я мог бы записывать тики для даты. Или по-старинке, число дней с 01-01-1970. В строке было бы целое число безо всяких проблем преобразования. Но.
Уточню свою проблему: в темлейте дата записана в виде 10/24/2013. На десятки хостов * десятки темплейтов задеплоин такой формат. Как переписать код, который парсил бы такую дату, под en-US и fr-Fr без проблем.
Все что я могу сделать малой кровью - задеплоить новый код, а не переделывать десятки темплейтов.
Спасибо.
...
Рейтинг: 0 / 0
Преобразование даты
    #38533498
mabanza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фиганыч

>DateTime.TryParseExact(dtStr,"dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)

Пожалуй, то что нужно
Спасибо
...
Рейтинг: 0 / 0
Преобразование даты
    #38533523
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mabanzaНикакого "специфического для XML" формата не существует. Формат О - это всего лишь микрософтовское имплементирование ISO8601.
Да ну? А как нас первой ссылки вот здесь: 15444700 ?
...
Рейтинг: 0 / 0
Преобразование даты
    #38533547
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mabanza Как переписать код, который парсил бы такую дату, под en-US и fr-Fr без проблем.
при парсинге используй штатовскую культуру , а не инвариантную
...
Рейтинг: 0 / 0
Преобразование даты
    #38533690
mabanza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Ну да. Там же русским по белому написано: ISO 8601.
Дефолтный формат в JS для даты является именно ISO 8601. Дефолтный формат для хранения даты в кукях именно ISO 8601. Но стадартом является ISO, а не "специальный формат" в XML или Javascript-е.
Я не против, если вы вводите какие-то новые определения. Но так сложнее понять друг друга, только и всего.
Спасибо.
...
Рейтинг: 0 / 0
Преобразование даты
    #38533879
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
The value '01/24/2013' is invalid according to its datatype 'http://www.w3.org/2001/XMLSchema:dateTime' - The string '01/24/2013' is not a valid DateTime value.

Все XML-парсеры при работе с датой работают именно с этим форматом, все XSLT-процессоры работают именно с этим форматом, причем независимо от платформы. Поэтому я не вижу причин не называть xs:dateTime (или, если вам угодно, ISO 8601) специфическим для XML форматом даты.
...
Рейтинг: 0 / 0
Преобразование даты
    #38533911
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mabanzaНикакого "специфического для XML" формата не существует. Формат О - это всего лишь микрософтовское имплементирование ISO8601.
В том-то и дело, что существует. И тебе объяснили что это за формат и как его нужно использовать в XML.

mabanzaС таким же успехом я мог бы записывать тики для даты. Или по-старинке, число дней с 01-01-1970. В строке было бы целое число безо всяких проблем преобразования. Но.
Причем тут тики? Речь конкретно о хранение даты в XML. Ты хранишь его через жопу. Отвечающие объясняют как хранить дату правильно.

mabanzaУточню свою проблему: в темлейте дата записана в виде 10/24/2013. На десятки хостов * десятки темплейтов задеплоин такой формат.
Да фиолетово, что и сколько там у тебя задеплоино. Твоя архитектура - гавно. Об этом и толкуют. Нравится заниматься онанизмом с парсингом - ради бога. А вменяемые люди используют нативную десериализацию с честной типизацией.
...
Рейтинг: 0 / 0
Преобразование даты
    #38534803
mabanza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Уважаемый МСУ
Зачем вы грубите? Прошу вас больше на мои посты не отвечать.
...
Рейтинг: 0 / 0
Преобразование даты
    #38534950
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mabanza, умоляю, разреши мне отвечать на твои посты.
...
Рейтинг: 0 / 0
Преобразование даты
    #38535128
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУmabanza, умоляю, разреши мне отвечать на твои посты.

де ты шляешься, гоу в asp.net
...
Рейтинг: 0 / 0
Преобразование даты
    #38535210
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttде ты шляешься, гоу в asp.net
Вот этими руками (показывает на свои руки) я воспитал и обучил честного добродушного тролля, запущенного в форум asp.net. Я спокоен за этот форум, теперь уж сам давай.
...
Рейтинг: 0 / 0
Преобразование даты
    #38535220
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУmabanza, умоляю, разреши мне отвечать на твои посты.

де ты шляешься, гоу в asp.net Чё там делать. Asp.Net отстой...
...
Рейтинг: 0 / 0
Преобразование даты
    #38535421
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЧё там делать. Asp.Net отстой...

its life



xaml?

...
Рейтинг: 0 / 0
Преобразование даты
    #38535445
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Преобразование даты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]