如何在 C# 中以 mm/dd/yyyy 格式获取今天的日期?

我需要将一个字符串变量设置为今天的日期(最好没有年份),但是必须有一种比一次按月/按天构建它更好的方法。

顺便提一句:我在美国,所以 M/dd 是正确的,例如9 月 11 日是 9/11。

笔记:kronoz 的一个答案讨论了国际化,我认为这已经足够值得提及了,因为我也无法将其设为“已接受”的答案。

克罗诺兹的回答

有帮助吗?

解决方案

DateTime.Now.ToString("M/d/yyyy");

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

其他提示

不要太迂腐,但如果您要将代码国际化,那么拥有获取给定文化的短日期的设施可能会更有用,例如:-

using System.Globalization;
using System.Threading;

...

var currentCulture = Thread.CurrentThread.CurrentCulture;
try {
  Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us");
  string shortDateString = DateTime.Now.ToShortDateString();
  // Do something with shortDateString...
} finally {
  Thread.CurrentThread.CurrentCulture = currentCulture;
}

虽然显然“m/dd/yyyy”方法要简洁得多!

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

如果你想要不带年份的:

DateTime.Now.ToString("MM/DD");

DateTime.ToString() 有很多很酷的格式字符串:

http://msdn.microsoft.com/en-us/library/aa326721.aspx

DateTime.Now.Date.ToShortDateString()

是文化特定的。

最好坚持:

DateTime.Now.ToString("d/MM/yyyy");
string today = DateTime.Today.ToString("M/d");
DateTime.Now.Date.ToShortDateString()

我想这就是你正在寻找的

或者不带年份:

DateTime.Now.ToString("M/dd")
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top