替代python 2.6中的total_seconds()

sca*_*ser 4 python time

在python 2.7中有total_seconds()方法.

在python 2.6中,它不存在,它建议使用

(td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何在下面实现它吗?

谢谢

import datetime

timestamp = '2014-10-24 00:00:00'
timestamp = int((datetime.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S') - datetime.datetime(1970,1,1)).total_seconds())
print timestamp

timestamp = '2014-10-24 00:00:00'
timestamp = datetime.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S') - datetime.datetime(1970,1,1)
print timestamp
Run Code Online (Sandbox Code Playgroud)

Yor*_*riz 16

这是在timedelta_total_seconds函数中使用2.7,你可以看到它获得与使用total_seconds方法相同的输出.

import datetime


def timedelta_total_seconds(timedelta):
    return (
        timedelta.microseconds + 0.0 +
        (timedelta.seconds + timedelta.days * 24 * 3600) * 10 ** 6) / 10 ** 6


timestamp = '2014-10-24 00:00:00'
time_delta = datetime.datetime.strptime(
    timestamp, '%Y-%m-%d %H:%M:%S') - datetime.datetime(1970, 1, 1)

print timedelta_total_seconds(time_delta)
print time_delta.total_seconds()
Run Code Online (Sandbox Code Playgroud)

输出

1414108800.0
1414108800.0
Run Code Online (Sandbox Code Playgroud)