如何将日期格式化为dd/mm/yyyy
或mm/dd/yy
?
就像在VB中一样 format("dd/mm/yy",now)
我怎么能在C#中做到这一点?
它几乎相同,只需使用DateTime.ToString()
方法,例如:
DateTime.Now.ToString("dd/MM/yy");
要么:
DateTime dt = GetDate(); // GetDate() returns some date dt.ToString("dd/MM/yy");
此外,您可能需要考虑使用预定义的日期/时间格式之一,例如:
DateTime.Now.ToString("g"); // returns "02/01/2009 9:07 PM" for en-US // or "01.02.2009 21:07" for de-CH
这些确保格式正确,与当前区域设置无关.
有关更多信息,请查看以下MSDN页面
DateTime.ToString()方法
标准日期和时间格式字符串
自定义日期和时间格式字符串
一些其他相关信息:
如果要在特定区域设置/区域性中显示日期,则该ToString()
方法的重载会带来IFormatProvider
:
DateTime dt = GetDate(); dt.ToString("g", new CultureInfo("en-US")); // returns "5/26/2009 10:39 PM" dt.ToString("g", new CultureInfo("de-CH")); // returns "26.05.2009 22:39"
或者,您可以CultureInfo
在格式化日期之前设置当前线程:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); dt.ToString("g"); // returns "5/26/2009 10:39 PM" Thread.CurrentThread.CurrentCulture = new CultureInfo("de-CH"); dt.ToString("g"); // returns "26.05.2009 22:39"
string.Format("{0:dd/MM/yyyy}", DateTime.Now)
在MSDN上查找"格式字符串"以查看所有格式选项.
使用yy
,yyyy
,M
,MM
,MMM
,MMMM
,d
,dd
,ddd
,dddd
的日期组件
使用h
,hh
,H
,HH
,m
,mm
,s
,ss
对时间的日分量