我有以下内容:
PMRCutoffDate.Value = ReportCalc.Cutoff_Date.ToString("MM/dd/yyyy");
PMRDate.Value = DateTime.Now.ToString("MM/dd/yyyy");
我希望日期显示为:03/05/2010,而不是3/5/2010或03/5/2010或3/05/2010。
然而,我的程序仍然显示错误的日期(3/10/2010)。
有任何想法是出了什么问题吗?
我有以下内容:
PMRCutoffDate.Value = ReportCalc.Cutoff_Date.ToString("MM/dd/yyyy");
PMRDate.Value = DateTime.Now.ToString("MM/dd/yyyy");
我在VS 2008中有以下代码,它可以产生你要查找的输出结果。你能否提供更多信息?
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy"));
输出:
03/10/2010
检查控制面板中的区域和语言选项应用程序,以确定日期格式是否更改。您可以通过在DateTime.ToString()重载中使用CultureInfo.InvariantCulture.DateTimeFormat属性来使自己免受这些覆盖或不寻常的文化属性的影响。
Textbox1.Text = DateTime.Today.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
输出:
09/18/2015
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
我更喜欢使用扩展方法来格式化日期之类的东西,因为总会有人想要在某个时候更改格式,而我只需要更改扩展方法,整个应用程序现在都反映了新格式。