我的日期字符串就像这样
19-03-2014
我想将其转换为
03/19/2014
尝试过这样的事情
var bday = DateTime.ParseExact("19-03-2014", "dd/mm/yyyy",
CultureInfo.InvariantCulture)
但这会引发错误
字符串未被识别为有效的DateTime。
任何人都可以指出我做错了吗?
答案 0 :(得分:3)
解析中的多个问题。
-
,但您使用的格式为/
。mm
一个月,它应该是MM
。小写mm
是几分钟。 您可以将单d
和M
用于单/双位日/月部分。这将是一种更安全的方法,因为它会将03
或3
识别为月份。因此,您的格式应为:"d-M-yyyy"
,您的解析代码可以是:
var bday = DateTime.ParseExact("19-03-2014",
"d-M-yyyy",
CultureInfo.InvariantCulture);
答案 1 :(得分:2)
这只是因为mm
是分钟而MM
是月
答案 2 :(得分:2)
var bday = DateTime.ParseExact("19-03-2014", "dd-MM-yyyy",
CultureInfo.InvariantCulture);
Console.WriteLine(bday.ToString("MM/dd/yyyy"));
答案 3 :(得分:1)
您的格式使用/
作为分隔符,但您的日期字符串有-
作为分隔符。将其更改为
var bday = DateTime.ParseExact("19-03-2014", "dd-MM-yyyy",
CultureInfo.InvariantCulture)
答案 4 :(得分:1)
您应该使用原始格式对其进行解析,然后以所需格式再次打印:
var bday = DateTime.ParseExact("19-03-2014", "dd-MM-yyyy", CultureInfo.InvariantCulture);
string s = bday.ToString("MM/dd/yyyy",System.Globalization.CultureInfo.InvariantCulture);