格式date在C#

如何将date格式设置为dd/mm/yyyymm/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"); 

另外,您可能需要考虑使用其中一种预定义的date/时间格式,例如:

 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()方法
  • 标准date和时间格式string
  • 自定义date和时间格式string

一些额外的相关信息:

如果您想在特定的区域/文化中显示date,那么需要使用IFormatProviderToString()方法的重载:

 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" 

或者,您可以在格式化date之前设置当前线程的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上查找“格式string”以查看所有格式选项。

对date分量使用yyyyyyMMMMMMMMMMdddddddddd

使用hhhHHHmmmsss来表示时间分量

在你也可以写

 DateTime aDate = new DateTime(); string s = aDate.ToShortDateString(); 

一个简短的表示法

要么

 DateTime aDate = new DateTime(); string s = aDate.ToLongDateString(); 

像“2009年2月1日星期天”这样长的表示法。

或者看一下MSDN的可能性.ToString(“???”);

尝试这个 :

 String.Format("{0:MM/dd/yyyy}", DateTime.Now); // 01/31/2009 String.Format("{0:dd/MM/yyyy}", DateTime.Now); // 31/01/2009 String.Format("{dd/MM/yyyy}", DateTime.Now); // 31/01/2009 

更好的是,只使用

 DateTime.Now.ToString() 

要么

 DateTime.Now.ToString(CultureInfo.CurrentCulture) 

使用用户喜欢的格式。

我遇到了同样的问题。 我需要做的是在类的顶部添加一个引用,并更改当前正在执行的线程的CultureInfo。

 using System.Threading; string cultureName = "fr-CA"; Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName); DateTime theDate = new DateTime(2015, 11, 06); theDate.ToString("g"); Console.WriteLine(theDate); 

所有你需要做的就是改变文化名称,例如:“en-US”=美国“fr-FR”=讲法语的法国“fr-CA”=讲法语的加拿大等等。

我认为这很简单,因为您可以毫无困惑地转换成任何格式

  DateTime.ParseExact(txt.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));