C#将mm / d / yyyy转换为YYYYmmDD

时间:2014-05-02 13:50:48

标签: c#

我正在尝试将11/6/2012转换为20120611是否有一种简单的方法来转换值?

我试过DateTime.ParseExact("11/6/2012", "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).ToString();,但我相信字符串中的/正在搞砸它。

2 个答案:

答案 0 :(得分:6)

您的字符串"11/6/2012"与您的格式"yyyy-MM-dd"不匹配。这不是反斜杠。

您的格式应为"dd/M/yyyy",其中:

  • yyyy代表4位数年份
  • M代表单个或两位数月份(用于解析)
  • dd代表双位数日

如果您希望日期部分为单个数字,如12或两位数,如1128等,那么您可以使用单个{{ 1}}格式,它将解析单个数字和双位数日部分。当前格式d需要"dd/M/yyyy"之类的日期为1

解析:

01

用于生成输出字符串:

DateTime dt = DateTime.ParseExact("11/6/2012", "dd/M/yyyy", System.Globalization.CultureInfo.InvariantCulture);

这将为您提供:string formattedDate = dt.ToString("yyyyMMdd", CultureInfo.InvariantCulture);

有关信息,请参阅:Custom Date and Time Format Strings

答案 1 :(得分:1)

DateTime.ParseExact函数正如其名称所说的那样,即斜杠和连字符。例如,请查看:

http://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

正如@Habib所说,如果你使用“dd / M / yyyy”,它就可以解决问题。

如果您想了解有关格式的更多信息,请查看:

http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm