在我的Asp.net网页中,我需要将今天的日期显示在一个文本框中,因此在我的表单加载时,我编写了以下代码
textbox1.text = System.DateTime.Today.ToShortDateString();
这行代码给我的日期格式类似于1/7/09,但我想要的日期格式是01/07/09。有没有办法在C#中将这个日期转换成mm/dd/yy格式?
在我的Asp.net网页中,我需要将今天的日期显示在一个文本框中,因此在我的表单加载时,我编写了以下代码
textbox1.text = System.DateTime.Today.ToShortDateString();
这行代码给我的日期格式类似于1/7/09,但我想要的日期格式是01/07/09。有没有办法在C#中将这个日期转换成mm/dd/yy格式?
DateTime.Today.ToString("MM/dd/yy")
查看自定义日期和时间格式字符串文档以获取更多信息。
(哦,希望这个应用程序不是注定要面向其他文化。那种格式可能会让很多人感到困惑...说实话我从来没有理解过整个月/日/年的事情。按照这样的尺度进行“中低高”排序似乎很奇怪。)
DateTime.Today.ToString("MM/dd/yy")
请查看自定义日期和时间格式字符串的文档,以获取更多信息。
(哦,我希望这个应用程序不会面向其他文化。那种格式可能会让很多人感到困惑……说实话,我从来没有理解过整个月份/日期/年份的事情。在这种尺度上按照“中低高”的顺序似乎很奇怪。)
其他文化确实是一个问题。例如,在葡萄牙语中,该代码返回类似于01-01-01而不是01/01/01的内容。我也不明白为什么会这样……
为了解决这个问题,我会做出如下调整:
IFormatProvider yyyymmddFormat = new System.Globalization.CultureInfo(String.Empty, false);
return date.ToString("MM/dd/yy", yyyymmddFormat);
您尝试过以下方法吗?
textbox1.text = System.DateTime.Today.ToString("MM/dd/yy");
请注意,2位数字年份在未来可能会有问题...
看这里,你可以通过传递格式字符串来仅获取日期。 您可以根据当前日期的要求获取不同的日期格式,如下所示:
DateTime.Now.ToString("M/d/yyyy");
结果:"2016年9月1日"DateTime.Now.ToString("M-d-yyyy");
结果: "9-1-2016"DateTime.Now.ToString("yyyy-MM-dd");
结果:“2016年9月1日”DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
结果:"2016-09-01 09:20:10"
更多详情请查看{{link1:MSDN自定义日期和时间格式字符串参考}}。