如果我正确地回答了你的问题,我认为你正在寻找“日期时间模块”(你已经提到过),但你也需要知道给定日期的格式字符串以及如何使用格式字符串。一旦知道了要处理的数据的格式,就可以解析任何日期字符串,只要它的格式正确,就可以将其转换为日期时间对象,并进行比较和其他操作,而不考虑每个日期的原始格式。谷歌要传递给datetime“strftime”/“strptime”方法的格式,以获取“%”格式说明符的含义;他们中有不少。下面是一个使用您提供的两种格式的非常简单的示例:
#!/usr/bin/python
import datetime
import sys
import argparse
# Correctly fomatted command line args.
string_date1=sys.argv[1]
string_date2=sys.argv[2]
# Put the strings into datetime objects.
datetime_date1=datetime.datetime.strptime(string_date1,"%Y-%m-%dT%H:%M:%S.%fZ")
datetime_date2=datetime.datetime.strptime(string_date2,"%Y/%m/%d")
# Here are the dates packaged up into datetime objects.
print("Date 1: ",datetime_date1)
print("Date 2: ",datetime_date2)
# Compare
print ("Date 1 > date 2: ", datetime_date1 > datetime_date2);
print ("Date 2 > date 1: ", datetime_date2 > datetime_date1);
print ("Dates are equal? ", datetime_date1 == datetime_date2);
print ("Dates are not equal? ", datetime_date1 != datetime_date2);
使用和输出:
$ ./rudimentary_date_compare.py "2021-02-01T20:42:11.393Z" "2022/01/04"
Date 1: 2021-02-01 20:42:11.393000
Date 2: 2022-01-04 00:00:00
Date 1 > date 2: False
Date 2 > date 1: True
Dates are equal? False
Dates are not equal? True