自定义的公共函数
import date_time
def str2datetime(date_time, form="%Y-%m-%d %H:%M:%S"):
_datetime = datetime.datetime.strptime(date_time, form) if isinstance(date_time, str) else date_time
return _datetime
def datetime2str(date_time, form="%Y-%m-%d %H:%M:%S"):
_datetime = datetime.datetime.strftime(date_time, form) if isinstance(date_time, datetime.datetime) else date_time
return _datetime
def get_recent_datetime(date_time_list, form="%Y-%m-%d %H:%M:%S", response_type="str"):
"""
获取最近的时间
:param date_time_list: 时间列表
:param form: 指定时间列表中的时间格式
:param response_type: 函数返回结果的数据类型 datetime or str
"""
recent_datetime = None
for dt in date_time_list:
dt = str2datetime(dt, form)
recent_datetime = recent_datetime if recent_datetime and recent_datetime >= dt else dt
if response_type == "str":
recent_datetime = datetime2str(recent_datetime, form)
elif response_type == "datetime":
recent_datetime = str2datetime(recent_datetime, form)
else:
assert False, "response_type={} 参数错误, response_type当前仅支持 'datetime' 或 'str'".format(response_type)
return recent_datetime
if __name__ == '__main__':
now_date = datetime.datetime.now() # 获取当前时间,type -> datetime
datetime_str = "2024-9-19 15:36:07" # 随便定义一个时间 type -> str
dt_list = [now_date, datetime_str]
result = get_recent_datetime(dt_list) # 调用函数比较,获取最大的时间
print(result)
print(type(result))