Ведущий нулевой формат даты C # - PullRequest
23 голосов
/ 20 января 2009

У меня есть эта функция ...

private string dateConvert(string datDate)
{
        System.Globalization.CultureInfo cultEnGb = new System.Globalization.CultureInfo("en-GB");
        System.Globalization.CultureInfo cultEnUs = new System.Globalization.CultureInfo("en-US");

        DateTime dtGb = Convert.ToDateTime(datDate, cultEnGb.DateTimeFormat);
        datDate = dtGb.ToString(cultEnUs.DateTimeFormat.ShortDatePattern);

        return datDate;
}

Но я хочу, чтобы начальный ноль был еще на младших разрядах (1-9), поэтому дата 11-09-2009 (мм-дд-гггг) ...

Теперь, если я не конвертировал его, используйте строку string.Format ("{0: d}", dateVar), как мне сделать это при конвертации?

***** Решение *****

Использовал слегка измененную версию ответа ниже (то есть ту, которая будет отображаться).

Convert.ToDateTime(datDate).ToString("MM-dd-yyyy");

Ответы [ 3 ]

49 голосов
/ 20 января 2009
return dateTimeValue.ToString("MM-dd-yyyy");
2 голосов
/ 20 января 2009

Не можете ли вы использовать string.Format после того, как вы сделали преобразование?

т.е. return string.Format("{0:d}", datDate);

1 голос
/ 03 апреля 2018

Я бы порекомендовал использовать самые последние сокращения C # (спецификатор формата) для удобства использования и удобства чтения:

return dateTimeValue:MM-dd-yyyy;

Чистота и лаконичность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...