Extrait de le temps de datetime et de déterminer si le temps (pas de date) se situe dans la gamme?

Le problème est que je veux qu'il ignore la date et le seul facteur dans le temps. Voici ce que j'ai:

import time
from time import mktime
from datetime import datetime

def getTimeCat(Datetime):
    # extract time categories
    str_time = datetime.strptime(Datetime, "%m/%j/%y %H:%M")
    ts = datetime.fromtimestamp(mktime(str_time))

    # --> Morning = 0400-1000
    mornStart = datetime.time(4, 0, 1)
    mornEnd = datetime.time(10, 0, 0)

    # --> Midday = 1000-1600
    midStart = datetime.time(10, 0, 1)
    midEnd = datetime.time(16, 0, 0)

    # --> Evening = 1600-2200
    eveStart = datetime.time(16, 0, 1)
    eveEnd = datetime.time(22, 0, 0)

    # --> Late Night = 2200-0400
    lateStart = datetime.time(22, 0, 1)
    lateEnd = datetime.time(4, 0, 0)

    if time_in_range(mornStart, mornEnd, ts):
      timecat = 0 #morning
    elif time_in_range(midStart, midEnd, ts):
      timecat = 1 #midday
    elif time_in_range(eveStart, eveEnd, ts):
      timecat = 2 #evening
    elif time_in_range(lateStart, lateEnd, ts):
      timecat = 3 #late night

    return timecat

Aussi, j'obtiens cette erreur:

TypeError: argument must be 9-item sequence, not datetime.datetime

Lorsque je change la ligne correspondant à:

str_time = time.strptime(Datetime, "%m/%j/%y %H:%M")

J'obtiens cette erreur:

TypeError: descriptor 'time' requires a 'datetime.datetime' object but received a 'int'

Je sais que je suis en train de travailler avec deux types de bibliothèques ou autres joyeusetés, mais je ne suis pas sûr de comment faire pour convertir entre eux ou d'accomplir ce que je veux faire uniquement à l'aide de l'un. J'ai juste envie d'ignorer la date et ne vérifiez si le temps est dans les plages spécifiées. La version 2.6 de Python est un must en raison d'une bibliothèque que j'utilise ailleurs dans le code.

OriginalL'auteur Dan | 2013-04-22