在最近的需求开发中,涉及到对如下的list_time进行从小到大排序
q1_supply_time = '2023/3/20'
q2_supply_time = '2023/6/19'
q3_supply_time = '2022/9/19'
q4_supply_time = '2022/12/19'
list_time = [q1_supply_time,q2_supply_time,q3_supply_time,q4_supply_time]
list_time:['2023/3/20', '2023/6/19', '2022/9/19', '2022/12/19']
由于list_time数组中的元素是日期字符串,使用.sort()方法无法得到正确的结果
list_time.sort()
list_time:['2022/12/19', '2022/9/19', '2023/3/20', '2023/6/19']
我们可以通过以下方法处理得到正确的排序结果
# 将日期转化为便于比较大小时间戳
def get_list(date):
return datetime.datetime.strptime(date,"%Y/%m/%d").timestamp()
list_time_sort = sorted(list_time,key=lambda date:get_list(date))
list_time_sort:['2022/9/19', '2022/12/19', '2023/3/20', '2023/6/19']