c# 判斷字符串是否是日期格式需要注意的一點小問題


在很久很久以前,和很多同事一樣。我習慣用DateTime.TryParse來判斷。直到。。。。。。

 

直到有一個角度刁鑽的客戶,填了一個小數 133.3,后來告訴我程序報錯了。

 

我當時看着程序運行的結果,exceuse me??什么鬼??

 

后來發現。DateTime.TryParse是可以通過類似 133.3,2018.12,7.5之類的帶小數點的字符串的。但是也不是所有的帶小數點的字符串都能通過。比方13.13就不能通過。

 

其實,這也算不上bug。是正常結果。133.3會轉換成0133/3/1 0:00:00  。2018.12當然就是2018年12月1號了。7.5是今年的7月5號。13.13無法通過,是因為沒有13月,所以無法通過。

 

原因就是小數點也被認作是一個日期的分隔符了。和'-' , '/' ,' '(空格) 等分隔符作用一樣。然后也是一個合法的日期。所以小伙伴們如果小數會擾亂你的判斷。最好預先排除掉小數點的可能性。其他分隔符一樣的道理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM