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

本文关键字:转换 YYYYmmDD yyyy mm | 更新日期: 2023-09-27 18:01:15

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

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

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

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

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

  • yyyy代表4位数年份
  • M表示一位数或两位数的月份(用于解析(
  • dd代表两位数的一天

如果您希望日部分是个位数(如12(或双位数(如1128等(,那么您可以在格式中使用一个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);

这将为您提供:formattedDate = "20120611"

有关信息,请参阅:自定义日期和时间格式字符串

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