Skip to main content
 首页 » 编程设计

Python 正则表达式日期 YYYY-MM-DD HH :MM:SS

2025年05月04日26Leo_wl

示例数据: 站点、帐户、电子邮件地址、日期 01,123456789,test@gmail.com,2017-12-12 10:00:24

我想使用 if 语句将所有无效日期删除到排除文件并使用正则表达式将所有有效日期写入成功文件。

for row in reader: 
                    SITE = row[0].strip() 
                    SITE = SITE.rjust(2, '0') 
                    ACCOUNT = row[1].strip() 
                    ACCOUNT = ACCOUNT.rjust(9, '0') 
                    EMAIL = row[2].strip() 
                    DATE = row[3].strip() 
                    DATA = (SITE, ACCOUNT,EMAIL,DATE) 
                    if not re.match("^[0-9]+$", DATE): 
                            csvWriter3.writerow(DATA) 
                    else: 
                            csvWriter.writerow(DATA) 
                            csvWriter2.writerow(DATA) 
    except IndexError: 
        pass 

请您参考如下方法:

不要为此使用正则表达式。使用 strptime .如果失败,那么您就知道日期格式错误(甚至是有效格式的无效日期,正如@JonClements 在评论中阐述的那样)。

from datetime import datetime 
 
try: 
    datetime.strptime(DATE, '%Y-%m-%d %H:%M:%S') 
    # or date_object = datetime.strptime(DATE, '%Y-%m-%d %H:%M:%S') 
    # if you need the actual date object later 
except ValueError: 
    pass  # handle invalid date 
else: 
    pass  # handle valid date