如何以mm / dd / yyyy格式获取C#中的今天日期?
我需要为今天的日期设置一个字符串变量(最好是没有年份),但是有一种比一次一次构建一个月/日更好的方法。
顺便说一句:我在美国,所以M / dd是正确的,例如 9月11日是9/11。
注意:来自kronoz的答案来自讨论国际化的问题,我认为这很值得一提,因为我也无法将其设为"可接受的"答案。
克罗诺兹的答案
1
| DateTime.Now.ToString("M/d/yyyy"); |
http://msdn.microsoft.com/zh-CN/library/8kb3ddd4.aspx
不必太过分学究,但是,如果您正在对代码进行国际化,那么拥有针对特定文化的简短日期的功能可能会更有用,例如:
1 2 3 4 5 6 7 8 9 10 11 12 13
| 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"方法更整洁了!!
1
| DateTime.Now.ToString("dd/MM/yyyy"); |
如果您希望没有年份:
1
| DateTime.Now.ToString("MM/DD"); |
DateTime.ToString()有很多很酷的格式字符串:
http://msdn.microsoft.com/en-us/library/aa326721.aspx
1
| string today = DateTime.Today.ToString("M/d"); |
1
| DateTime.Now.Date.ToShortDateString() |
是特定于文化的。
最好坚持:
1
| DateTime.Now.ToString("d/MM/yyyy"); |
1
| DateTime.Now.Date.ToShortDateString() |
我想这就是你要找的
还是没有年份:
1
| DateTime.Now.ToString("M/dd") |