111

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

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

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

注意:来自 kronoz 的回答是在讨论国际化时出现的,我认为这已经足够令人敬畏了,因为我也不能让它成为“接受”的答案。

克罗诺兹的回答

4

8 回答 8

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

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

于 2008-08-28T16:37:44.680 回答
23

不要过于迂腐,但如果您正在将代码国际化,那么拥有获得给定文化的短期日期的工具可能会更有用,例如:-

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”方法要整洁得多!

于 2008-08-28T17:05:48.403 回答
15
DateTime.Now.ToString("dd/MM/yyyy");
于 2008-08-28T16:38:49.123 回答
9

如果你想要它没有年份:

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

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

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

于 2008-08-28T16:41:40.507 回答
8
DateTime.Now.Date.ToShortDateString()

是文化特定的。

最好坚持:

DateTime.Now.ToString("d/MM/yyyy");
于 2008-08-28T16:41:25.450 回答
8
string today = DateTime.Today.ToString("M/d");
于 2008-08-28T16:42:07.477 回答
5
DateTime.Now.Date.ToShortDateString()

我想这就是你要找的

于 2008-08-28T16:39:21.900 回答
3

或者没有年份:

DateTime.Now.ToString("M/dd")
于 2008-08-28T16:41:29.273 回答