如何将 time.strptime 转换为 datatime.date() Python 的整数 2

How to convert time.strptime into an integer for datatime.date() Python 2

如何将 strptime 的结果转换为整数值或 date.date() 可以使用的值?

convertTOdate = time.strptime('2007-07-18 10:03:19', '%Y-%m-%d %H:%M:%S')

duedate = datetime.datetime(convertTOdate)

Whosebug 上的解决方案是:

使用 time.mktime() 将时间元组(本地时间)转换为自纪元以来的秒数,然后使用 datetime.fromtimestamp() 获取日期时间对象。

 from time import mktime
 from datetime import datetime

 dt = datetime.fromtimestamp(mktime(struct))

我不想获取当地时间,因为它不适用于我的函数

我正在使用 Python 2

谢谢

您可以使用以下方法。

from datetime import datetime

def time_in_seconds(dt):
    epoch = datetime.utcfromtimestamp(0)
    delta = dt - epoch
    return delta.total_seconds()

convertTOdate = datetime.strptime('2007-07-18 10:03:19', '%Y-%m-%d %H:%M:%S')
duedate = time_in_seconds(convertTOdate)

returns 1184752999.0 相当于 2007-07-18 10:03:19

duedate = datetime.utcfromtimestamp(duedate)
print duedate

在使用以下两个之前请记住:

fromtimestamp 为您提供当地时间的日期和时间,utcfromtimestamp 为您提供 UTC 的日期和时间。