python - 如何将 python 时间戳字符串转换为纪元?

标签 python datetime timestamp epoch

我有以下字符串:

mytime = "2009-03-08T00:27:31.807Z"

如何在 python 中将其转换为纪元?

我试过:

import time
p = '%Y-%m-%dT%H:%M:%S'
int(time.mktime(time.strptime(s, p)))

但它不适用于 31.807Z

最佳答案

分为两部分:

  1. 将时间字符串转换为分割时间。参见 How to parse ISO formatted date in python?
  2. Convert the UTC time to "seconds since the Epoch" (POSIX timestamp) .
#!/usr/bin/env python
from datetime import datetime

utc_time = datetime.strptime("2009-03-08T00:27:31.807Z", "%Y-%m-%dT%H:%M:%S.%fZ")
epoch_time = (utc_time - datetime(1970, 1, 1)).total_seconds()
# -> 1236472051.807

如果您确定要忽略几分之一秒并获得整数结果:

#!/usr/bin/env python
import time
from calendar import timegm

utc_time = time.strptime("2009-03-08T00:27:31.807Z", "%Y-%m-%dT%H:%M:%S.%fZ")
epoch_time = timegm(utc_time)
# -> 1236472051

要支持与闰秒相对应的时间戳,例如 Wed July 1 2:59:60 MSK 2015,您可以 use a combination of time.strptime() and datetime (if you care about leap seconds you should take into account the microseconds too) .

关于python - 如何将 python 时间戳字符串转换为纪元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468371/

相关文章:

python - 使用 wxpython 捕获 CTRL-C 并操作剪贴板数据

python - 在 Python 中复制二维数组的最快方法是什么?

python - 使用 Selenium 抓取 Google map 的网页使用了太多数据

php - 将特定格式的日期插入 MySQL 数据库

javascript - IE8 和 IE9+ 的日期上 toJSON() 的结果不同

ios - 如何将像 "05/20/2015 05:27 pm"这样的日期字符串转换为 NSDate 然后转换为时间戳

python - 如果某行包含 pandas 中的某个值,则删除该行

mysql 选择范围内的日期时间对象

sql - 如何将带时区的日期时间插入 SQLite?

java - HH 日期时间格式问题