如何在python中将时间对象转换为自午夜以来的秒数?

Ton*_*bda 1 python time datetime

datetime.time在 python 中有一个对象(没有日期部分),想知道自午夜以来已经过去了多少秒。 t.hour * 3600 + t.minute * 60 + t.second肯定会工作,但有没有更pythonic的方式?

xnx*_*xnx 5

不幸的是,您似乎无法timedelta从两个datetime.time对象中获取一个对象。但是,您可以构建一个并使用它total_seconds()来获取自午夜以来的秒数:

In [63]: t = datetime.time(hour=12, minute=57, second=12)  # for example
In [64]: datetime.timedelta(hours=t.hour, minutes=t.minute,
                            seconds=t.second).total_seconds()
Out[64]: 46632.0
Run Code Online (Sandbox Code Playgroud)