Python 用日期格式计算

Python 用日期格式计算,python,python-2.7,Python,Python 2.7,我需要一些帮助,以开始和停止日期格式计算当前时间,然后是20151227135000和2015122716500。我想用这两种格式计算,与当前时间进行比较,看看当前程序还剩下多少分钟 示例:我使用格式2015122716500将其移除20151227135000以获取程序的完整时间25500,它显示为2小时55分钟,因此我想将其与当前时间和以下格式进行比较2015122716500。如果当前时间显示为15:30PM,并且我想将其与20151227160500进行比较,以获得当前程序的剩余时间,它

我需要一些帮助,以开始和停止日期格式计算当前时间,然后是
20151227135000
2015122716500
。我想用这两种格式计算,与当前时间进行比较,看看当前程序还剩下多少分钟

示例:我使用格式
2015122716500
将其移除
20151227135000
以获取程序的完整时间
25500
,它显示为2小时55分钟,因此我想将其与当前时间和以下格式进行比较
2015122716500
。如果当前时间显示为
15:30PM
,并且我想将其与
20151227160500
进行比较,以获得当前程序的剩余时间,它将显示为
35分钟
,因此我为当前程序创建宽度大小

代码如下:

#get the programs list
cur = con.cursor()
cur.execute('SELECT channel, title, start_date, stop_date FROM programs where channel=?', [channel])
programList = list()
programs = cur.fetchall()

for ind, row in enumerate(programs):
   program_start_date = str(row[2])
   program_end_date = str(row[3])

   #convert the date formats into minutes
   minutes_start = self.parseDateTimeToMinutesSinceEpoch(program_start_date)
   minutes_end = self.parseDateTimeToMinutesSinceEpoch(program_end_date)
   minutes_length = minutes_end - minutes_start

   program_length = minutes_length

   if program_length > 165 and program_length <= 185:   #3 hours
      program_width = 2082
以下是停止日期格式:

20151227135000
20151227160500
您能给我举个例子,说明我如何使用开始和停止日期格式计算当前时间,以查看当前程序在if program_length语句下剩余的分钟数吗

编辑:代码如下:

t = time.strptime("20151228000000", "%Y%m%d%H%M%S")
time_now = datetime.datetime.now()
d = time_now - t
print d

使用datetime.strTime将格式转换为datetime,然后进行计算,这将为您提供一个timedelta对象

In [59]: import datetime
         t = datetime.datetime.strptime("20151227135000", "%Y%m%d%H%M%S")
         d = datetime.datetime.now() - t
         d
Out[59]:
         datetime.timedelta(0, 5690, 225457)

In [60]: print(d.days, d.seconds, d.microseconds)
Out[60]: 0 5690 225457
编辑:根据更新的代码尝试

import time
t = time.mktime(time.strptime("20151228000000", "%Y%m%d%H%M%S"))
time_now = time.time()
d = time_now - t
print d

这将为您提供两次之间的秒数

有人知道怎么做吗?非常感谢,我不明白输出是什么意思,您能解释一下这些数字的含义吗?您是否使用正确的代码来计算格式
20151227135000
以去掉当前时间,从而获得当前程序剩余时间的输出?我现在正试图通过变量
d=t-time\u
,但它给了我错误
类型错误:-:“datetime.datetime”和“time.struct\u time”的操作数类型不受支持。
。你知道为什么吗?请参阅我的问题中的更新代码。是的,但我在这行中得到一个错误
d=time\u now-t
。你知道为什么我会得到这个
类型错误:不支持的操作数类型-:“datetime.datetime”和“time.struct\u time”
?你能修复我发布的代码吗?谢谢