समस्या यह है कि मैं चाहता हूं कि वह उस समय और केवल उस समय कारक को अनदेखा कर दे।डेटाटाइम से समय निकालें और निर्धारित करें कि समय (तिथि नहीं) सीमा के भीतर आता है या नहीं?
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
के रूप में है, मैं इस त्रुटि मिलती है:
TypeError: argument must be 9-item sequence, not datetime.datetime
जब मैं के लिए प्रासंगिक लाइन बदलने के लिए:
str_time = time.strptime(Datetime, "%m/%j/%y %H:%M")
मैं इस त्रुटि मिलती है: यहाँ मैं क्या है
TypeError: descriptor 'time' requires a 'datetime.datetime' object but received a 'int'
मुझे पता है कि मैं दो diff के साथ काम कर रहा हूँ ईरेंट लाइब्रेरीज़ या व्हाट्नॉट, लेकिन मुझे यकीन नहीं है कि उनके बीच कैसे परिवर्तित करें या पूरा करें जो मैं केवल एक का उपयोग करना चाहता हूं। मैं सिर्फ तारीख को अनदेखा करना चाहता हूं और केवल यह जांचता हूं कि समय निर्दिष्ट सीमाओं के भीतर है या नहीं। पाइथन 2.6 एक लाइब्रेरी के कारण होना चाहिए जो मैं कोड में कहीं और उपयोग कर रहा हूं।
धन्यवाद! मैं इसकी सराहना करता हूं! – Dan