2015-03-27 2 views
-1

Какой должен быть формат строки даты для mm/dd/yyyy где iam, используя приведенный ниже код.Какова будет строка времени даты

txtActDate.Text = dateTime.ToString("MM/dd/yyyy"); 

но получить выход в этом формате 5-27-2015

+0

Soo ... что вы ожидали? –

+0

Вы уверены, что это '5-27-2015', а не' 27-27-2015'? Что вы ожидаете в любом случае? –

+0

Каков ваш ожидаемый результат –

ответ

3

Если посмотреть на результат, число 5, 27 и 2015 находятся в полном порядке. Наверное, вы задаетесь вопросом о тире и о том, почему нет косых черт.

В форматированной строке косые черты рассматриваются как разделители, которые заменяются разделителем текущей культуры. У вас есть два варианта:

  • использовать другую культуру, которая соответствует вашему whishes (например: en-US)
  • Переформатирования формата-строка: MM\/dd\/yyyy. Используя эти обратные косые черты, вы говорите механизму форматирования, что вы действительно хотите получить эти славы :)
  • Переформатируйте свою форматированную строку, где косые черты между кавычками: MM'/'dd'/'yyyy (как предложил Тим).

Так следующие результаты кода в три раза одни и те же и нужные тексты:

string result1 = new DateTime(2015, 5, 27).ToString("MM/dd/yyyy", new CultureInfo("en-US")); 
string result2 = new DateTime(2015, 5, 27).ToString(@"MM\/dd\/yyyy"); 
string result3 = new DateTime(2015, 5, 27).ToString("MM'/'dd'/'yyyy"); 

Для более Informatie, см: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

+0

Вместо 'MM \/dd \/yyyy' вы должны использовать' MM '/' dd '/' yyyy' (или 'CultureInfo.InvariantCulture)' https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx#dateSeparator –

+1

@Tim Schmelter: Должен? Или это просто альтернатива? –

+0

Вы используете _have_, так как ваш код не компилируется, попробуйте 'DateTime.Now.ToString (« MM \/dd \/yyyy »)'. Вы можете использовать 'DateTime.Now.ToString (" MM '/' dd '/' yyyy ");' или 'DateTime.Now.ToString (" MM/dd/yyyy ", CultureInfo.InvariantCulture)' –

0

зависит от CurrentCulture темы Вы имеете в своем приложении, если вам нужно это в определенном формате, установите свойство Current CurrentCulture, передайте CultureInfo в определенную культуру, которую вы хотите использовать в методе ToString, или просто отформатируйте ее самостоятельно:

tx tActDate.Text = String.Format ("{0}/{1}/{2}", dateTime.Day.ToString(), dateTime.Month.ToString(), dateTime.Year.ToString());

-1

Вы могли бы использовать:

txtActDate.Text = txtActDate.Text.Replace('-', '/'); 
+0

Это не решение, это исправление. Исправление, необходимое для людей, которые не понимают механизм форматирования. Используйте правильные механизмы. –

Смежные вопросы