为什么 DateTime.TryParse 在给定真实年份字符串时返回 false?
在下面的代码中,我为函数指定了 sTransactionDate="1999",并尝试将其转换为日期 x/x/1999。
DateTime dTransactionDate = new DateTime();
if(DateTime.TryParse(sTransactionDate, out dTransactionDate))
{ //Happy
}else
{ //Sad
}
如果字符串是“1999”,它总是以悲伤结束。 有任何想法吗?
In the code below I am giving the function a sTransactionDate="1999" and I am trying to covert it to a date x/x/1999.
DateTime dTransactionDate = new DateTime();
if(DateTime.TryParse(sTransactionDate, out dTransactionDate))
{ //Happy
}else
{ //Sad
}
if the string is "1999" it will always end up in sad. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试这样的事情(适当调整
CultureInfo
和DateTimeStyles
):Try something like this (adjust the
CultureInfo
andDateTimeStyles
appropriately):怎么样……
或者甚至只是……
How about...
...or even just...
“1999”不是日期,而是年份
尝试 1999 年 1 月 1 日
"1999" is not a date, it's a year
try 1/1/1999
还要在系统日历上验证您尝试解析的日期是否存在。 就像您会发现“2/29/1949”也会返回 false,因为它在日历上从未存在过。
Also verify on a system calendar that the date you are attempting to parse existed. Just like you'll find "2/29/1949" is also going to return false because it never existed on the calendar.