我正在开发Windows应用程序。
因为我的日期格式为字符串格式为>> fileDate="15/03/2013"
我希望将其转换为日期格式,因为我的数据库字段为datetime
。
我使用了以下内容>>
DateTime dt = DateTime.ParseExact(fileDate, "yyyyy-DD-MM", CultureInfo.InvariantCulture);
DateTime dt = DateTime.Parse(fileDate);
这两种方法都证明没有给我错误>>
String was not recognized as a valid DateTime.
什么可能是错误?
还有其他技术吗?
答案 0 :(得分:6)
string fileDate = "15/03/2013";
DateTime dt = DateTime.ParseExact(fileDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);
答案 1 :(得分:4)
您必须根据ParseExact的日期字符串提供日期格式。您可以在Custom DateTime format - MSDN
上查看更多内容更改
"yyyy-MM-dd HH:ss"
到的
"dd/MM/yyyy"
您的代码将是
DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
答案 2 :(得分:2)
你应该这样做:
DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy",CultureInfo.InvariantCulture);
您必须使用与字符串"dd/MM/yyyy"
中传递的样式相同的格式传递格式(fileDate
)的字符串。
答案 3 :(得分:2)
答案 4 :(得分:1)
在您当前的代码中,您使用的格式为"yyyyy-DD-MM"
,这是错误的,因为日期部分需要小写d
而不是大写D
。 ,同样对于年份,您指定5 y
s,它应为4,如yyyy
,根据您的日期字符串的顺序应为:"dd/MM/yyyy"
。为了安全起见,您甚至可以使用"d/M/yyyy"
,这适用于单个数字或两位数的日/月。
所以你的代码应该是:
string fileDate="15/03/2013";
DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
上查看更多内容
答案 5 :(得分:0)
这是因为字符串“15/03/2013”无法真正解析为DateTime,格式字符串为“yyyy-MM-dd HH:ss”。