格式日期在C# [英] format date in c#
问题描述
我如何格式化日期作为 DD / MM / YYYY
或 MM / DD / YY
?
How can I format a date as dd/mm/yyyy
or mm/dd/yy
?
就像VB 格式(DD / MM / YY,现在)
我怎样才能做到这一点在C#?
How can I do this in C#?
推荐答案
这几乎是相同的,只是使用则DateTime.ToString()
的方法,如:
It's almost the same, simply use the DateTime.ToString()
method, e.g:
DateTime.Now.ToString("dd/MM/yy");
或者
DateTime dt = GetDate(); // GetDate() returns some date
dt.ToString("dd/MM/yy");
另外,你可能要考虑使用一个$ P $的pdefined日期/时间格式,如:
In addition, you might want to consider using one of the predefined date/time formats, e.g:
DateTime.Now.ToString("g");
// returns "02/01/2009 9:07 PM" for en-US
// or "01.02.2009 21:07" for de-CH
这些保证的格式将是正确的,独立于当前的区域设置。
These ensure that the format will be correct, independent of the current locale settings.
请检查下面的MSDN页以获取更多信息。
Check the following MSDN pages for more information
- DateTime.ToString() method
- Standard Date and Time Format Strings
- Custom Date and Time Format Strings
一些其他相关信息:
如果你想显示在一个特定的区域/文化的日期,再有就是的ToString的重载()
方法,该方法的的IFormatProvider
:
If you want to display a date in a specific locale / culture, then there is an overload of the ToString()
method that takes an 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
来格式化日期之前的当前线程的:
Or alternatively, you can set the CultureInfo
of the current thread prior to formatting a date:
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"
这篇关于格式日期在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!