如何在Python中进行日期验证?

您要在python中实现的日期验证将在很大程度上取决于您拥有的日期的格式。datetime库中的strptime函数可用于将字符串解析为日期/时间。

示例

import datetime
date_string = '2017-12-31'
date_format = '%Y-%m-%d'
try:
  date_obj = datetime.datetime.strptime(date_string, date_format)
  print(date_obj)
except ValueError:
  print("Incorrect data format, should be YYYY-MM-DD")

输出结果

这将给出输出-

2017-12-31 00:00:00

您可以使用许多其他指令来解析日期。以下是strptime()格式字符串支持的指令。

指示    
含义
%一种
语言环境的缩写工作日名称。
%一种
语言环境的完整工作日名称。    
%b
语言环境的缩写月份名称。  
%B
语言环境的完整月份名称。
%C
语言环境的适当日期和时间表示。    
%d
以十进制数[01,31]表示的月份中的一天。
%H
小时(24小时制),为十进制数字[00,23]。
%一世
小时(12小时制)为十进制数字[01,12]。        
%j
一年中的天,以十进制数字[001,366]为准。
%m
以十进制数字[01,12]表示的月份。
%M
以十进制数字[00,59]表示。  
%p
相当于AM或PM的语言环境。  
%S
第二个十进制数字[00,61]。
%U
一年中的周号(星期日为一周的第一天),以十进制数[00,53]。新年中第一个星期日之前的所有天均视为第0周。
%w
工作日为十进制数字[0(Sunday),6]。        
%W
一年中的星期号(星期一为星期的第一天),以十进制数[00,53]。第一个星期一之前的新的一年中的所有天均视为在第0周。
%X
语言环境的适当日期表示形式。    
%X
语言环境的适当时间表示形式。      
%y  
没有世纪的年份作为十进制数字[00,99]。    
%Y
以世纪作为十进制数字的年份。
%Z  
时区名称(如果不存在时区,则没有字符)。  
%%  
文字“%”字符