python-3.x - python3无法将字符串转换为日期时间对象
问题描述
我有以下代码:
from datetime import datetime
date_time_str = '2020-07-17 21:59:49.55'
date_time_obj = datetime.strptime(date_time_str, '%y-%m-%d %H:%M:%S.%f')
print "The type of the date is now", type(date_time_obj)
print "The date is", date_time_obj
导致错误:
Traceback (most recent call last):
File "main.py", line 5, in <module>
date_time_obj = datetime.strptime(date_time_str, '%y-%m-%d %H:%M:%S.%f')
File "/usr/lib/python2.7/_strptime.py", line 332, in _strptime
(data_string, format))
ValueError: time data '2020-07-17 21:59:49.553' does not match format '%y-%m-%d %H:%M:%S.%f'
为什么我不能转换这个日期?以下示例有效:
date_time_str = '18/09/19 01:55:19'
date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M:%S')
解决方案
首先,这不是有效的 Python 3 代码。您print
在代码中使用了 Python 2 语句,并且尝试在 Python 3 上运行它会导致SyntaxError
.
如错误所示,您的日期字符串与您指定的格式不匹配。看看格式代码;我注意到的第一个问题是您给出了 4 位数的年份(2020 年),但尝试将其与%y
2 位数年份对齐。可能还有其他问题,通过该表应该很容易找到。
推荐阅读
- laravel - Laravel 的视频库
- laravel - 迁移创建期间的 Laravel 8 问题
- c++ - C++:使用 Blackmagic DeckLink SDK 读取访问冲突(this-> x was nullptr)
- google-bigquery - 在给定日期范围(日历)内具有开始日期和结束日期的活跃工单的每日计数
- angular - 我如何访问角度服务的数据?
- node.js - 向电报机器人 inline_keyboard 添加回调以计算按钮点击次数
- graphql - graphql - 使用 apollo 客户端挂钩停止挂起的请求
- xamarin.ios - Xamarin.iOS 上的 SFSpeechRecognitionRequest 需要 OnDeviceRecognition。是可用的么?
- python - Pyplot - fill_between 渐变
- sql - SQL 选择最新的并删除重复项