python - 将特定时间格式转换为另一种格式
问题描述
我正在尝试转换某种时间格式。但由于当前时间格式不友好,某些字符(日、月)的索引会因之前的字符数而变化。我一直在尝试使用切片来提取正确的信息。但是由于索引发生了变化,我没有任何运气。所需的时间格式来自日期时间。
Current time format:
5/31/21, 6:30 AM
Desirade time format:
2021-06-12 20:41:06.447695
我能够准确地提取小时和分钟,但不能提取日、月、年。
if 'PM' in start_time:
string = ' PM'
else:
string = ' AM'
minute = start_time[start_time.index(':') + 1:start_time.index(string)]
hour = start_time[start_time.index(', ') + 2: start_time.index(':')]
解决方案
你本质上是想把这种格式转换%m/%d/%y, %I:%M %p
成这种格式%Y-%m-%d %H:%M:%S.%f
。
所以是这样的:
d = datetime.strptime(date_input, '%m/%d/%y, %I:%M %p')
new_d = d.strftime('%Y-%m-%d %H:%M:%S.%f')
有关所有日期时间代码,请参阅python 文档。%
推荐阅读
- mysql - 将所有从 table1 插入到 table2 具有不同的表结构
- c# - 如何在 RetryPolicy 上使用策略包装
? - c++ - 没有模板的左值不匹配(&&),但与模板匹配(T &&)?
- stored-procedures - 如何通过 ComsoDB 存储过程直接访问文档
- node.js - 安装 npm 时出现 403 禁止 - Ubuntu 14.0
- c# - 如何在二进制图像中找到最大的“斑点”
- python - 解析大图并获取内存错误
- postgresql - 使用交叉表的 PostgreSQL 查询
- bash - bash xargs 脚本中的“chmod:缺少操作数”
- arrays - 在swift中用2个不同的字符动态分隔一个字符串