首页 > 解决方案 > Python 将连字符附加到 API 的日期输出

问题描述

我正在尝试使用 api 下载股票数据,并且要使 api 工作,我需要以 YYYYMMDD 格式请求日期,但是我希望它输出 YYYY-MM-DD。

目前我正在使用此代码来请求数据:

write(symbol, ";", exchange, ";", bar.date.replace(' ', '; '), ";", bar.open, ";", bar.high, ";", bar.low, ";", bar.close, ";", bar.volume)

由于 API 为我提供了输出:“YYYYMMDD HH:MM:SS”,我已经使用了命令 .replace(' ', '; '),因此它在日期输出后面放置了一个分号。现在我也想将日期输出格式化为 YYYY-MM-DD,但我认为因为我正在使用 .replace,我似乎无法找到让自己工作的方法。

这里有人可以帮我吗?

标签: pythonpython-3.xvisual-studiopycharm

解决方案


datetime当我们有这个模块时,我不知道为什么其他答案建议使用正则表达式。用于strptime将任意字符串转换为日期时间,然后再转换回带有strftime. 格式选项位于文档的底部:https ://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

import datetime as dt

date = '20190522 20:00:24'
new_date = dt.datetime.strptime(date, '%Y%m%d %H:%M:%S').strftime('%Y-%m-%d')

推荐阅读