Почему DateTime.ToString( "dd/MM/yyyy" ) дает мне dd-MM-yyyy?
Я хочу, чтобы мое datetime было преобразовано в строку, которая находится в формате "dd/MM/yyyy"
Всякий раз, когда я конвертирую его с помощью DateTime.ToString("dd/MM/yyyy")
, я получаю dd-MM-yyyy
.
Есть ли какая-то информация о культуре, которую я должен установить?
Ответы
Ответ 1
Слэш - это разделитель дат, поэтому он будет использовать текущий разделитель даты культуры.
Если вы хотите жестко запрограммировать его для использования косой черты, вы можете сделать что-то вроде этого:
DateTime.ToString("dd'/'MM'/'yyyy")
Ответ 2
Перейдите CultureInfo.InvariantCulture в качестве второго параметра DateTime, он вернет строку как вы хотите, даже очень специальный формат:
DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)
вернется:
28 | 02 | 2014
Ответ 3
Добавьте CultureInfo.InvariantCulture
в качестве аргумента:
using System.Globalization;
...
var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
Вернется:
"16/08/2016"
Ответ 4
Тупой вопрос/ответ, возможно, но вы пробовали dd/MM/yyyy
? Обратите внимание на капитализацию.
mm
- это минуты с начальным нулем. Поэтому я сомневаюсь, что вы хотите.
Это может быть полезно: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm