如何用零格式化或填充字符串日期?

时间:2015-04-14 06:13:24

标签: c# string datetime

我的日期值格式如下:1/1/2015。 这些是由Web服务生成的,我无法改变:

如何格式化:1/1/201501/01/2015,前导零?

试过这个:

Console.WriteLine(String.Format("{0:[##/##/####]}", "1/1/2015"));

而且:

Console.WriteLine(String.Format("{0:MM/dd/yyyy}", "1/1/2015"));

但是我得到了相同的格式化输出。

3 个答案:

答案 0 :(得分:6)

  

我的日期值格式如下

在.NET中,DateTime没有任何隐式格式。它只有日期和时间值。 DateTime的文本表示(又名字符串表示)可以有格式。

如果你有这样的字符串,请将其解析为Datetime并使用dd/MM/yyyy格式获取字符串表示。

string s = "1/1/2015";
DateTime dt;
if(DateTime.TryParseExact(s, "d/M/yyyy", CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out dt))
{
    dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture).Dump(); // 01/01/2015
}

答案 1 :(得分:0)

您可以尝试这样:

return yourDateTimeValue.ToString("MM/dd/yyyy");

修改

由于您将日期存储为字符串,请尝试这样:

string s = "1/1/2015";
DateTime dt = 
    DateTime.ParseExact(s, "MM/dd/yyyy", CultureInfo.InvariantCulture);

答案 2 :(得分:0)

将日期字符串转换为DateTime,然后将其设为MM/dd/yyyy或您想要的任何格式。

DateTime.Parse("1/1/2015").ToString("MM/dd/yyyy");