我正在尝试将11/6/2012转换为20120611是否有一种简单的方法来转换值?
我试过DateTime.ParseExact("11/6/2012", "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).ToString();
,但我相信字符串中的/
正在搞砸它。
答案 0 :(得分:6)
您的字符串"11/6/2012"
与您的格式"yyyy-MM-dd"
不匹配。这不是反斜杠。
您的格式应为"dd/M/yyyy"
,其中:
yyyy
代表4位数年份M
代表单个或两位数月份(用于解析)dd
代表双位数日如果您希望日期部分为单个数字,如1
,2
或两位数,如11
,28
等,那么您可以使用单个{{ 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