在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ Python3 時(shí)間字符串格式化

Python3 時(shí)間字符串格式化

用Python3對時(shí)間字符串進(jìn)行處理,主要有下面兩種時(shí)間格式:
①'2018/03/17'
②'2018/03/17 17:30:15'

也就是第一種時(shí)間為年月日格式,第二種為年月日+時(shí)分秒,現(xiàn)在我想怎樣可以通過python的時(shí)間函數(shù)直接判斷該時(shí)間字符串為第一種還是第二種,這樣也方便我后面的操作。不然就要這樣寫(感覺很蠢):

clipboard.png

暫且想到的思路就是兩種:
1.用try...except... ,不是第一種時(shí)間格式就報(bào)錯(cuò),進(jìn)入except中進(jìn)行另一種時(shí)間格式處理
2.就是上面貼的圖片的寫法,根據(jù)獲取的時(shí)間字符串長度來判斷屬于哪一種時(shí)間格式

希望了解的可以告知一下,多謝哈!

回答
編輯回答
我以為

如果時(shí)間字符串標(biāo)準(zhǔn)的話,完全可以根據(jù)長度甚至是否含有空格等特定字符判斷。否則還是要做好異常處理。

代碼的話預(yù)處理統(tǒng)一先做,然后進(jìn)行判斷,避免重復(fù)的語句。

2017年8月12日 02:16
編輯回答
淡墨
date_str = '...'
date, time = date_str.split()
if date and time: # 第二種格式
    ...
else: # 第一種格式
    ...
2018年4月21日 08:52
編輯回答
葬憶
from datetime import datetime

def str2time(s):
    return datetime.strptime(s, '%Y/%m/%d %X' if ':' in s else '%Y/%m/%d') #取巧,判斷:
    
a, b = '2018/03/17', '2018/03/17 17:30:15'
str2time(a)
str2time(b)
2018年2月21日 03:29
編輯回答
夏夕
record.trade_time = datetime.datetime.strptime(cells[8].strip('"'), '%Y/%m/%d %H:%M:%S' if len(cells[8].strip('"')) > 10 else '%Y/%m/%d')

試一下這條語句。

2017年4月28日 00:43