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

2022-02-09 09:19:21 字數 471 閱讀 5749

在很久很久以前,和很多同事一樣。我習慣用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當然就是2023年12月1號了。7.5是今年的7月5號。13.13無法通過,是因為沒有13月,所以無法通過。

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

判斷字串是否是日期格式

datetime.parse 可以判斷以下三種字串是否是日期格式 2009 5 6 10 12 25 2009 5 6 10 12 25 2009年5 月6日 10 12 25 用正規表示式可以判斷 2009 5 6 10 12 25 2009 5 6 10 12 25 2009年5 月6日 10 ...

C JS 判斷字串是否為日期格式

在c 中,對格式的判斷有一類專門函式,那就是tryparse。tryparse在各個不同的型別類 如int,string,datetime 中,都是存在的。在tryparse中一般有兩個引數,乙個是待判斷的字串,另外乙個是轉換後的結果儲存變數。1 判斷字串內容是否為日期格式,並返回乙個日期變數。st...

python判斷字串是否是json格式方法

在實際工作中,有時候需要對判斷字串是否為合法的json格式 解決方法使用json.loads,這樣更加符合 pythonic 寫法 示例 python import json def is json myjson try json object json.loads myjson except va...