Дата сборки C # в виде строки с ведущими нулями и без разделителей - PullRequest
0 голосов
/ 05 февраля 2019

У меня свидание.Я хотел бы зачитать все части даты в отдельные строки с ведущими нулями, где это применимо, а затем объединить их, чтобы создать строку даты, представляющую собой просто числа без разделителей.

Например:

DateTime dt = DateTime.Now;

string year = dt.Year.ToString();
string month = dt.Month.ToString();
string day = dt.Day.ToString();
string hour = dt.Hour.ToString();
string minutes = dt.Minute.ToString();
string seconds = dt.Second.ToString();

string finalDt = string.Concat(year, month, day, hour, minutes, seconds);

Я бы хотел, чтобы месяц был 01, если это январь, день, который будет 03, если это третий день, а также час, год, секунды.Есть ли способ сделать это без необходимости проверять счетчик для каждой части даты и дополнять его начальным 0?

Если есть лучший способ выполнить то, что я пытаюсь сделать в целом, то я быкак предложения.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

А как насчет использования пользовательской строки формата в методе DateTime.ToString:

DateTime.Now.ToString("yyyyMMddhhmmss");

Тип DateTime поддерживает множество способов форматирования, поэтому вы можете создать полученный формат из отдельных «компонентов»,Обратитесь к Документам , чтобы увидеть все доступные варианты.

0 голосов
/ 05 февраля 2019

Вы можете использовать DateTime.ToString(string format) для этой цели:

dt.ToString("yyyyMMddHHmmss")

Или, если вы все еще хотите выполнять каждую часть отдельно:

string year = dt.Year.ToString("0000");
string month = dt.Month.ToString("00");
string day = dt.Day.ToString("00");
string hour = dt.Hour.ToString("00");
string minutes = dt.Minute.ToString("00");
string seconds = dt.Second.ToString("00");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...