使用Python中的datetime模块创建日期对象,并将其作为键来创建字典。可以使用JSON模块或pickle模块对此字典进行编码和解码。
示例代码:
import datetime
import json
import pickle
def date_encoder(obj):
if isinstance(obj, (datetime.datetime, datetime.date)):
return obj.strftime('%Y-%m-%d')
raise TypeError("Type %s not serializable" % type(obj))
def date_decoder(obj):
if isinstance(obj, str):
return datetime.datetime.strptime(obj, '%Y-%m-%d').date()
return obj
date_dict = {datetime.date(2022, 1, 1): 'New Year', datetime.date(2022, 2, 14): 'Valentine\'s Day'}
# 使用JSON编码和解码
json_dict = json.dumps(date_dict, default=date_encoder)
print(json_dict)
json_date_dict = json.loads(json_dict, object_hook=date_decoder)
print(json_date_dict)
# 使用pickle编码和解码
pickle_dict = pickle.dumps(date_dict)
print(pickle_dict)
pickle_date_dict = pickle.loads(pickle_dict)
print(pickle_date_dict)
上一篇:按日期或字符串进行排序