使用日期格式

时间:2015-12-27 18:10:18

标签: python python-2.7

我需要一些帮助,使用开始和结束日期格式来计算2015122713500020151227160500之后的当前时间。我想用两种格式进行计算,以便与当前时间进行比较,看看当前程序剩余的分钟数。

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

以下是代码:

#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

1 个答案:

答案 0 :(得分:0)

使用datetime.strptime将格式转换为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

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

相关问题