如何在python中转换此字符串
2018-02-06T14:45:03.0040554Z 无法将此字符串转换为datetime如何在python中转换此字符串,python,datetime,Python,Datetime,2018-02-06T14:45:03.0040554Z 无法将此字符串转换为datetime datetime.strtime('2018-02-06T14:45:03.0040554Z','%Y-%m-%dT%H:%m:%fZ') 我正在尝试这个,但它不起作用 datetime.strtime('2018-02-06T14:45:03Z','%Y-%m-%dT%H:%m:%fZ') 本作品为以上时间格式 但是我从第三方api获得了这个时间字符串,因此无法更改其格式。如果您可以使用模块,则可以
datetime.strtime('2018-02-06T14:45:03.0040554Z','%Y-%m-%dT%H:%m:%fZ')
我正在尝试这个,但它不起作用
datetime.strtime('2018-02-06T14:45:03Z','%Y-%m-%dT%H:%m:%fZ')
本作品为以上时间格式
但是我从第三方api获得了这个时间字符串,因此无法更改其格式。如果您可以使用模块,则可以执行此操作
from dateutil import parser
print parser.parse('2018-02-06T14:45:03.0040554Z')
输出:
2018-02-06 14:45:03.004055+00:00
使用日期时间。看起来你错过了秒参数,微秒必须是6,你有7
import datetime
print datetime.datetime.strptime('2018-02-06T14:45:03.004055Z', '%Y-%m-%dT%H:%M:%S.%fZ')
print datetime.datetime.strptime('2018-02-06T14:45:03Z', '%Y-%m-%dT%H:%M:%SZ')
输出:
2018-02-06 14:45:03.004055
2018-02-06 14:45:03
如果可以使用模块,则可以执行此操作
from dateutil import parser
print parser.parse('2018-02-06T14:45:03.0040554Z')
输出:
2018-02-06 14:45:03.004055+00:00
使用日期时间。看起来你错过了秒参数,微秒必须是6,你有7
import datetime
print datetime.datetime.strptime('2018-02-06T14:45:03.004055Z', '%Y-%m-%dT%H:%M:%S.%fZ')
print datetime.datetime.strptime('2018-02-06T14:45:03Z', '%Y-%m-%dT%H:%M:%SZ')
输出:
2018-02-06 14:45:03.004055
2018-02-06 14:45:03
一种方法是使用熊猫:
import pandas as pd
pd.to_datetime('2018-02-06T14:45:03.0040554Z').to_pydatetime()
'2018-02-06 14:45:03.004055'
一种方法是使用熊猫:
import pandas as pd
pd.to_datetime('2018-02-06T14:45:03.0040554Z').to_pydatetime()
'2018-02-06 14:45:03.004055'
您的输入格式非常奇怪,因为它在第二个分数中有7位数字 看看老问题:
您可以拆分/重新连接字符串并使用
'%Y-%m-%dT%H:%m:%S.%fZ'
或使用dateutil.parser.parse
您的输入格式非常奇怪,因为它的第二个小数部分有7位数字
看看老问题:
您可以拆分/重新连接字符串并使用
'%Y-%m-%dT%H:%m:%S.%fZ'
或使用dateutil.parser.parse
datetime将不起作用,因为%f
代表微秒(最多6位),而@Yawar在点后有7位。您在@BUZZY之前删除了4
。你是对的,我忘了在描述中添加该信息。datetime不起作用,因为%f
代表微秒(最多6位),而@Yawar在点后有7位。您在@BUZZY之前删除了4
。你是对的,我忘了在描述中添加该信息。0040554有7位数字$f匹配6位数字。0040554有7位数字$f匹配6位数字。office365 api正在返回此超奇怪格式:(office365 api正在返回此超奇怪格式:(