在python中将字符串日期转换为长字符串

2024-04-26 22:04:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,它有一列格式为yyyy-mm-ddTHH:MM:SSS.000Z的日期时间

例如,2019-06-17T19:17:45.000Z。我想用python将其转换为长类型(unix纪元时间)

怎么做

谢谢

(如何解析ISO 8601格式的日期?这个问题与解析字符串有关。我想进行转换,因此它是不同的)


Tags: 数据字符串类型格式时间unixisomm
2条回答

使用模块时间:

import calendar
import time
calendar.timegm(time.strptime('2019-06-17T19:17:45.000Z', '%Y-%m-%dT%H:%M:%S.%fZ'))

输出:1560799065

使用datetime模块fromisoformat(最有可能是fastest option)解析字符串timestamp()获取自历元以来的POSIX秒数:

from datetime import datetime
s = '2019-06-17T19:17:45.000Z'
ts = datetime.fromisoformat(s.replace('Z', '+00:00')).timestamp()
#  1560799065.0

strptime具有适当的格式代码:

ts = datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%f%z').timestamp()

…或dateutil的parser.parse(速度较慢但更方便):

from dateutil.parser import parse
ts = parse(s).timestamp()

相关问题 更多 >