DateTime. Разбор doesn' t используют образцы в текущем CultureInfo (Silverlight)?

У меня есть следующая проблема. Я установил CurrentCulture и CurrentUICulture и использование после образцов в них:

ShortDatePattern is dd-MM-yyyy

LongTimePattern HH.mm.ss .

Когда я преобразовываю даты, чтобы натянуть, я получаю 15-01-2008 00.00.00 . Но когда я звоню DateTime. Разбор ("15-01-2008 00.00.00") это бросает FormatException . Если я установил ShortDatePattern , чтобы dd-MM-yyyy HH.mm.ss , исключение все еще брошено. Есть ли любой способ вызвать DateTime. Разбор , чтобы использовать образец в течение времени, устанавливая CurrentCulture соответственно.

Я знаю, что, используя перегрузки Разбора или ParseExact мог бы помочь, но самое главное должно было использовать форматирование без рефакторинг множество кода, который уже написан и использует DateTime. Разбор и ToString повсеместно

Additional info: A also tried putting - and . in ' - it was no use. CurrentCulture is based on Swedish.

0
nl ja de
@nowRave, вы надеющийся получать все ценности DateTime в вашем прикладном наборе как ShortDate..? Я обеспечил и ответ, но кто-то хотел знать, хотели ли вы отформатировать против выполнения DateTime. Разбор, пожалуйста, посмотрите на решение и проверьте..
добавлено автор MethodMan, источник
Да, я обновил свой вопрос. Я забыл упоминать, что я хотел использовать не только DateTime. Разбор, но и DateTime. ToString также, так как у нас есть много письменного кода. В то время как ToString() использует образец, я установил без вопросов, Разбор игнорирует, по любой причине так стоимость последовательности, которую я получаю от DateTime. У ToString есть "Недействительный" формат по данным DateTime. Разбор. Таким образом, вопрос строго о принуждении DateTime. Разбор к разбору натягивает со временем в следующем формате HH.mm.ss
добавлено автор noaRAVE, источник

1 ответы

if you want to format a DateTIme using String.Format() Method you could do something like this below. String.Format DateTime C#

 var dt = "15-01-2008 00.00.00";
 var dateFrmt = String.Format("{0:dd/MM/yyyy HH:mm:ss}", dt);

Продукция = "15-01-2008 00.00.00"

если вы хотите раздеть HH:mm:ss из переменной DateTime для короткой даты, вы могли бы сделать, следующим здесь является пример, приведет к ShortDate

 DateTime dt = DateTime.Now;
 var dateFrmt = String.Format("{0:M/d/yyyy}", dt);

Продукция = "1/9/2013"

DateTime. Метод ParseExact, если вы принимаете решение пойти тот маршрут

1
добавлено
Вы уверены, что он хочет отформатировать даты вместо того, чтобы разобрать их?
добавлено автор Wiktor Zychla, источник
на основе того, что он хотел, казалось что, что он делал работавший для DateTime, но пытаясь Разобрать стоимость DateTime, чтобы получить ShortDate, это вызвало ошибку, таким образом форматируя его дату, чтобы возвратить только Короткую Дату, второй пример будет работать на него.. Я проверил обоих
добавлено автор MethodMan, источник
См. мой ответ на свой комментарий и обновления вопроса
добавлено автор noaRAVE, источник
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot