You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					53 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					53 lines
				
				1.6 KiB
			| 
											2 years ago
										 | import datetime | ||
|  | 
 | ||
|  | 
 | ||
|  | def object_format_datetime(obj): | ||
|  |     """
 | ||
|  |     :param obj: 输入一个对象 | ||
|  |     :return:对目标对象所有datetime类型的属性格式化 | ||
|  |     """
 | ||
|  |     for attr in dir(obj): | ||
|  |         value = getattr(obj, attr) | ||
|  |         if isinstance(value, datetime.datetime): | ||
|  |             setattr(obj, attr, value.strftime('%Y-%m-%d %H:%M:%S')) | ||
|  |     return obj | ||
|  | 
 | ||
|  | 
 | ||
|  | def list_format_datetime(lst): | ||
|  |     """
 | ||
|  |     :param lst: 输入一个嵌套对象的列表 | ||
|  |     :return: 对目标列表中所有对象的datetime类型的属性格式化 | ||
|  |     """
 | ||
|  |     for obj in lst: | ||
|  |         for attr in dir(obj): | ||
|  |             value = getattr(obj, attr) | ||
|  |             if isinstance(value, datetime.datetime): | ||
|  |                 setattr(obj, attr, value.strftime('%Y-%m-%d %H:%M:%S')) | ||
|  |     return lst | ||
|  | 
 | ||
|  | 
 | ||
|  | def format_datetime_dict_list(dicts): | ||
|  |     """
 | ||
|  |     递归遍历嵌套字典,并将 datetime 值转换为字符串格式 | ||
| 
											1 year ago
										 | 
 | ||
| 
											2 years ago
										 |     :param dicts: 输入一个嵌套字典的列表 | ||
|  |     :return: 对目标列表中所有字典的datetime类型的属性格式化 | ||
|  |     """
 | ||
|  |     result = [] | ||
|  | 
 | ||
|  |     for item in dicts: | ||
|  |         new_item = {} | ||
|  |         for k, v in item.items(): | ||
|  |             if isinstance(v, dict): | ||
|  |                 # 递归遍历子字典 | ||
|  |                 new_item[k] = format_datetime_dict_list([v])[0] | ||
|  |             elif isinstance(v, datetime.datetime): | ||
|  |                 # 如果值是 datetime 类型,则格式化为字符串 | ||
|  |                 new_item[k] = v.strftime('%Y-%m-%d %H:%M:%S') | ||
|  |             else: | ||
|  |                 # 否则保留原始值 | ||
|  |                 new_item[k] = v | ||
|  |         result.append(new_item) | ||
|  | 
 | ||
|  |     return result |