日期时间转换为秒数

3
我有两个日期时间字符串,分别是'2010-08-31 04:35:50.176725'和'2010-09-05 04:35:50.176725'。现在我的问题是如何计算这两个日期之间的秒数。我使用了时间差,但它返回的是小时和分钟格式。我希望完全以秒为单位。

你是指自纪元以来的秒数吗? - unutbu
1
请查看http://docs.python.org/library/time.html。 - soulseekah
2个回答

14
import datetime as dt
import time

now=dt.datetime.now()

纪元被定义为1970年01月01日00:00:00格林威治标准时间。 您可以通过以下方式找到当前时间与纪元之间的秒数:

print(time.mktime(now.timetuple()))
# 1289565310.0

或者,如果你想找到两个dt.datetime对象之间的秒数:

now2=dt.datetime(2010,11,12,12,0,0)

def timestamp(date):
    return time.mktime(date.timetuple())

print(timestamp(now2)-timestamp(now))
# 15890.0

@Gautam:在这种情况下,请使用左侧的勾号接受答案。 - Björn Pollex

0

我猜你想要找到两个日期之间的秒数差异?

如果是这种情况,首先获取一个 timedelta(通过使用 - 运算符从任意两个 datetime 对象中简单地进行减法运算)。然后读取结果对象的 seconds 字段。


谢谢,但我有两个日期时间字符串,如'2010年8月31日04:35:50.176725'和'2010年9月5日04:35:50.176725'。现在我的问题是如何计算两个日期之间的秒数。我使用了时间差,但它以小时、分钟格式返回。我想要完整的秒数。 - Lalit Chattar
@Gautam - 我已经回答了你的问题。但请在你的问题中更新你在这里发布的评论。现在它比你最初的问题清晰多了。 - eumiro
这个答案是错误的。seconds 字段只是 timedelta 实例所表示数据的一部分。 - Jean-Paul Calderone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接