MM / dd / yyyy格式

时间:2010-03-10 16:17:00

标签: c# datetime

我有以下内容:

PMRCutoffDate.Value = ReportCalc.Cutoff_Date.ToString("MM/dd/yyyy");
PMRDate.Value = DateTime.Now.ToString("MM/dd/yyyy");

我希望日期显示为:03/05/2010,而不是2010年5月5日或2010年5月3日或3月5日

但是,我的程序STILL错误地显示日期(2010年3月10日)。

关于什么是错的任何想法?

5 个答案:

答案 0 :(得分:12)

在VS 2008中,我有以下代码和您正在寻找的输出。你能发布更多信息吗? 代码:

Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy"));

输出:

03/10/2010

答案 1 :(得分:3)

根据这个article,您可以使用String.format或DateTime.toString填充日期,如下所示:

String.Format("{0:MM/dd/yyyy}", dt);

答案 2 :(得分:3)

如果日期格式已更改,请检入“控制面板”的“区域和语言选项”小程序。通过使用DateTime.ToString()重载中的CultureInfo.InvariantCulture.DateTimeFormat属性,您应该能够将自己与这些覆盖或不寻常的文化属性隔离开来。

答案 3 :(得分:2)

Textbox1.Text = DateTime.Today.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);

OUTPUT: 09/18/2015

答案 4 :(得分:1)

上述回复应该可以帮助您,但如果没有,您仍然遇到问题,您可以为DateTime创建以下扩展方法,并强制它为您需要的格式,无论文化设置如何:

public static class StringExtension
{
    static public string ToStringFormatted(this DateTime dt)
    {
        return string.Format("{0:00}/{1:00}/{2:0000}", dt.Month, dt.Day, dt.Year);
    }

    // if the culture info change does fix your issue do:
    static public string ToStringFormatted2(this DateTime dt)
    {
        return dt.ToString("MM/dd/yyyy");
    }
}

// useage:
string date = DateTime.Now.ToStringFormatted();

// output:  03/10/2010

我更喜欢用于格式化日期之类的扩展方法,因为有人总是想要在某些时候更改格式,我只需要更改扩展名,而我的整个应用程序现在都反映了新格式。