把从数据库读出的日期由datetime对象转换为字符串显示到前端

之前学习flask+vue时实现了一个数据列表功能,列表中展示了数据的创建时间

传送门:

flask+vue:创建一个数据列表并实现简单的查询功能(一)

flask+vue:创建一个数据列表并实现简单的查询功能(二)

flask+vue:创建一个数据列表并实现简单的查询功能(三)

【创建时间】这个字段在数据库中存为了datetime对象,通过python读取出来时,并不是字符串格式,不能直接显示到前端

所以需要额外处理下这个字段,把datetime类型转为string类型

 

第一种方式:在sql查询语句把datetime对象转换为字符串格式

select type_name, value, date_format(create_time, '%Y-%m-%d') from data_list

在sql语句中使用 date_format 将 create_time 字段转换为字符串格式,这里可以根据需要转换为"年-月-日"等格式。

 

第二种方式:在python中把datetime对象转换为字符串格式

先从数据库中读出数据,然后在python中使用 strftime 方法转换为字符串

from utils.connect_db import MysqlConnect

db = MysqlConnect()

sql = "select type_name, value, create_time from data_list LIMIT 0, 5"
data = db.select_all(sql)
db.close()
# print(data)
new_data = [list(item) for item in list(data)]
print(new_data)

def list_obj(array):
    obj = {"date": array[2].strftime("%Y-%m-%d %H:%M:%S"), "type": array[0], "value": array[1]}
    return obj

m = map(list_obj, new_data)
print(list(m))

 

 

posted @ 2022-02-09 18:56  我是冰霜  阅读(2658)  评论(1编辑  收藏  举报