c#中的格式日期

Gol*_*old 18 .net c# formatting datetime

如何将日期格式化为dd/mm/yyyymm/dd/yy

就像在VB中一样 format("dd/mm/yy",now)

我怎么能在C#中做到这一点?

M4N*_*M4N 47

它几乎相同,只需使用DateTime.ToString()方法,例如:

DateTime.Now.ToString("dd/MM/yy");
Run Code Online (Sandbox Code Playgroud)

要么:

DateTime dt = GetDate(); // GetDate() returns some date
dt.ToString("dd/MM/yy");
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要考虑使用预定义的日期/时间格式之一,例如:

DateTime.Now.ToString("g");
// returns "02/01/2009 9:07 PM" for en-US
// or "01.02.2009 21:07" for de-CH 
Run Code Online (Sandbox Code Playgroud)

这些确保格式正确,与当前区域设置无关.

有关更多信息,请查看以下MSDN页面


一些其他相关信息:

如果要在特定区域设置/区域性中显示日期,则该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"
Run Code Online (Sandbox Code Playgroud)

或者,您可以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"
Run Code Online (Sandbox Code Playgroud)

  • 我鼓励您遵循马丁的建议,并使用具有文化意识的预定义代码.您现在可能不需要它,但将来它可以使事情变得更容易. (2认同)

Arj*_*nbu 8

string.Format("{0:dd/MM/yyyy}", DateTime.Now)
Run Code Online (Sandbox Code Playgroud)

在MSDN上查找"格式字符串"以查看所有格式选项.

使用yy,yyyy,M,MM,MMM,MMMM,d,dd,ddd,dddd的日期组件

使用h,hh,H,HH,m,mm,s,ss对时间的日分量