如何导入此时间戳,然后获取自该时间戳以来的天数?

问题描述 投票:0回答:1

我收到这种格式的字符串形式的时间戳

2024-09-27T04:58:04.894614Z

我已经使用

import datetime
进行了大量的游戏和阅读,转换为日期时间对象

例如

timestamp = datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S.%f')

但是日期时间使用起来似乎非常混乱。

我目前正在使用

from datetime import datetime, date, time, timedelta
无法更改。

如何获取自导入时间戳以来的天数?

python datetime time timestamp
1个回答
1
投票

保持简单,

  • 使用
    strptime
    将字符串解析为日期时间对象。
  • 使用
    datetime.now()
    获取当前时间。
  • 从当前时间减去解析的日期时间并从结果中提取天数。

from datetime import datetime

timestamp = "2024-09-21T04:58:04.894614Z"
timestamp_dt = datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%S.%fZ')
now = datetime.now()
difference = now - timestamp_dt
days_since = difference.days

您也可以使用

fromisoformat
,如Mark Tolonen所建议:

timestamp_dt = datetime.fromisoformat(timestamp.rstrip("Z"))

注意日期格式也错误,正确的应该是:

%Y-%m-%dT%H:%M:%S.%fZ

完整示例

© www.soinside.com 2019 - 2024. All rights reserved.