2011-10-27 65 views
1

我有一个字符串需要转换并验证为DateTime。该字符串是按以下格式“DD.MM.YY” 我试图将其转换为DateTime使用以下日期时间格式C#

string format = "dd.mm.yy"; 
date = DateTime.ParseExact(current.Substring(aiRule.AiLength), format, 
              CultureInfo.InvariantCulture); 

可惜失败。 问题是如何将格式为'dd.mm.yy'的字符串转换为DateTime? 谢谢

+0

你能显示你的输入字符串和结果:current.Substring(aiRule.AiLength)? –

+0

作为一般规则,说“X失败”并不能帮助帮助你的人。尝试具体 - 给出输入示例,预期输出,实际输出或错误消息。 –

回答

11

mm表示“分钟”。我怀疑你想要"dd.MM.yy"。有关custom date and time format strings的更多信息,请参阅MSDN。

(尤其是阅读有关"yy" specifier的组成部分,如何选择使用哪一个世纪。如果你都不可能改变输入使用四位数年份,能为您节省一些问题...)

0

我会告诉一些“异端”的东西。如果dd.MM.yy(与2或4 yy)是您当地文化的格式,那么您可以让DateTime.Parse(而不是ParseExact!)完成工作,但不将其设置为CultureInfo.InvariantCulture,或者将其设置为new CultureInfo("it-IT")等本地文化。

0

字符串格式应该是这样的....

string Format = "dd.MM.yy" 


mm is for showing minutes 

MM is for showing months.. 

我希望它会帮助你...

0

正如前面的帖子已经指出的那样,意味着毫米分钟,MM指月。我跑了这个测试片段,它如预期的那样工作:

string format = "dd.MM.yy"; 
string date = "27.10.11"; 
DateTime result; 
result = DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);