守护麦田  
ptrada = dbutil.select(f"select trade_date from ...")
print(type(ptrada),ptrada)       # <class 'list'> [(datetime.datetime(2023, 8, 1, 0, 0),)]
一般从数据库中取到的日期 都是 datetime对象 数据结构
pretra = ptrada[0][0]       
print(type(pretra ), pretra)        # <class 'datetime.datetime'> 2023-08-01 00:00:00
#  获取到的时间字段 基本是datetime 对象数据结构, 但python 代码中基本上是使用 字符串类型 的时间,如:“2023-11-07 ”
解决: 需要将datetime 对象 类型的数据结构 转换成字符串类型  数据结构
pretradeday = pretra.strftime("%Y-%m-%d")
print('上一交易日:',type(pretradeday),pretradeday)          # 上一交易日: <class 'str'> 2023-08-01
其他地方再次使用,
stockWeightY = dbutil.select(f"select * FROM .. where ..  AND xx = to_date('{pretradeday}','yyyy-MM-dd')")
 
posted on 2023-11-14 16:02  守护麦田  阅读(128)  评论(0编辑  收藏  举报