尝试使用toordinal()
。公元1月1日的序号为1。
ordinals = [d.toordinal() for d in raw]
现在您有了一个数字列表,可以轻松缩放:
def scale_num(raw,target_max,target_min,source_max,source_min):
scaled = (((raw - source_min)/(source_max - source_min))*(target_max - target_min))+target_min
return scaled
target_min = datetime.datetime(1988,1,1).toordinal()
target_max = datetime.datetime(2001,12,31).toordinal()
source_max = max(ordinals)
source_min = min(ordinals)
scaled = [round(scale_num(d,source_min)) for d in ordinals]
为了将序数转换为日期,请使用date.fromordinal()
:
date = date.fromordinal(1).isoformat()
本文链接:https://www.f2er.com/3126876.html