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

116

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

我需要将一个字符串变量设置为今天的日期(最好不包含年份),但一次一个月/日地构建太麻烦了。

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

注意:来自kronoz的回答涉及国际化问题,我认为这个回答很棒,因此也想提一下。

kronoz的回答


4
M/dd将1月1日显示为1/01。您希望是1/01还是只有1/1? - Joel Coehoorn
8个回答

228

3
hh:mm:ss 给出了时间。DateTime.Now.ToString("M/d/yyyy hh:mm:ss"); - Joe Cotton

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" 方法更加整洁!!


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

9
DateTime.Now.Date.ToShortDateString()

文化因素对此有影响。

最好使用以下内容:

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

9

8
string today = DateTime.Today.ToString("M/d");

5
DateTime.Now.Date.ToShortDateString()

我想这就是你所需要的内容。

4

或者不包括年份:

DateTime.Now.ToString("M/dd")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接