2013-08-01 6 views
2

Я пытаюсь отобразить DateTime с форматированием «общая дата короткого времени». Когда я использую спецификатор g, он дает мне что-то вроде 01-08-13 10:12:00 10:12 вместо 01-05-13 10:12.DateTime.ToString issue

Кажется, дублирует время, и я не знаю почему.

Кто-нибудь?

Edit 1 Вот код, я использую:

var startDate = DateTime.MinValue.ToString("g"); 
if (Airspace.StartDate != null) 
    startDate = ((DateTime)Airspace.StartDate).ToString("g"); //01-08-13 00:00:00 00:00 

Edit 2 Та же проблема возникает, когда я использую "короткий шаблон даты":

var startDate = DateTime.MinValue.ToString("d"); 
if (Airspace.StartDate != null) 
    startDate = ((DateTime)Airspace.StartDate).ToString("d"); //01-08-13 00:00:00 

Это Безразлично Не имеет смысла!

+0

Язык? C#/VB.Net? – unlimit

+0

Я использую язык C# и .net Framework 4.0. –

+1

Пожалуйста, разместите часть кода, в котором вы это делаете. На вопрос не хватает информации. – unlimit

ответ

0

Надеется, что это может помочь вам:

DateTime today = DateTime.Now; 
    Console.WriteLine(today.ToString("dd-MM-yy H:mm")); 
    //Result: 01-08-13 04:33 
    Console.ReadLine(); 

Другой формат: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

+0

Это решение работает, но формат должен быть чувствительным к культуре. Я считаю, что '-' будет заменяться'/'в зависимости от культуры, но этого недостаточно. –

+0

@LaurentDeCant вы правы, и путь вокруг этого будет заключаться в жестком кодировании формата; '.ToString (" yyyy '-' MM '-' dd ")' обратите внимание, как «-» теперь «жестко закодированы», если это требование? – Hexie

+0

Я решил использовать это решение. –

0

Попробуйте

startDate = DateTime.Now.ToString(System.Globalization.CultureInfo. 
    CurrentCulture.DateTimeFormat); 
+0

Тот же результат, все еще есть раздражающие '00: 00: 00'. –

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