Я испытываю странное поведение при преобразовании String в DateTime, а затем снова ToString().Странное поведение при преобразовании String в DateTime
Convert.ToDateTime("16-02-2012").ToString("MM/dd/yyyy")
приводит 02-16-2012 Convert.ToDateTime("16-02-2012").ToLongDateString()
результатов в 16. Февраль 2012
Как вы можете видеть преобразование является правильным при использовании ToLongDateString(), но как-то/преобразуется в - когда используя ToString().
Когда я вставить первый результат в виде листа Excel значение фактически '02 -16-2012 (обратите внимание на "в начале)
Когда я использую дату, когда первый сегмент ниже, чем 12 результат содержит/как ожидалось, но возвращается к dd/MM/yyyy.
Я попытался использовать new System.Globalization.CultureInfo("da-DK", false)
при преобразовании ToDateTime(), но без эффекта (наша система уже установлена на da-DK - но я отчаялся).
Кто-нибудь видел это поведение раньше?
EDIT
Чтобы прояснить мой пост немного, формат даты в датском дд-мм-гггг (который я хочу, чтобы отформатировать в мм/дд/гггг) - Я знаю, что первый сегмент месяц на английском языке.
@ vc74 - Очевидно, что в контексте вопроса 16 это день не месяц. Почему 6 человек подняли этот комментарий, нет никакого смысла, ясно, в регионе, в котором находится Марл, они используют соглашение DD/MM/YYYY. –
@ Marle1 - Вы понимаете, что код ведет себя точно так, как это правильно? –
@ Marle1 Причина, по которой это не работает, заключается в том, что культура Дании использует дефис в качестве разделителя дат и использует строки/в качестве заполнителя для разделителя дат. –