将datetime从给定日期转换为分钟

use*_*476 6 python int datetime python-2.6

可能重复:
Python datetime到Unix时间戳

有没有办法将a转换datetimeint,表示自2012年1月以来的分钟数,以便int可以修改,写入数据库,比较等等?编辑:我运行此服务器的服务器使用Python 2.6.6

Mar*_*ers 20

减去两个datetime.datetime对象会给你一个timedelta对象,它有一个.total_seconds()方法(在Python 2.7中添加).将此除以60并投射至int()自参考日期起的分钟数:

import datetime

january1st = datetime.datetime(2012, 01, 01)
timesince = datetime.datetime.now() - january1st
minutessince = int(timesince.total_seconds() / 60)
Run Code Online (Sandbox Code Playgroud)

或者在python shell中:

>>> import datetime
>>> january1st = datetime.datetime(2012, 01, 01)
>>> timesince = datetime.datetime.now() - january1st
>>> minutessince = int(timesince.total_seconds() / 60)
>>> minutessince
346208
Run Code Online (Sandbox Code Playgroud)

对于python 2.6及更早版本,您必须使用.days.seconds属性来计算分钟数:

minutessince = timesince.days * 1440 + timesince.seconds // 60
Run Code Online (Sandbox Code Playgroud)

它也给你一个整数.


Lio*_*ior 2

如果您想要两个日期之间的增量分钟数,您可以datetime.timedelta通过减去两个日期来创建一个对象(请参见此处),然后检索分钟数,如本问题所示:

将 timedelta 转换为天、小时和分钟