我已经创建了一个程序,要求用户输入给定的TimeType
(Seconds/Minutes
)和objectivetime
(integer
)(例如,如果用户输入秒数然后是5,则目标时间是5秒)。另外,该程序还会在开始时检查时间,然后检查后面的时间以计算出elapsed_time
。然后我想检查elapsed_time
是否大于或等于objective time
。我已经写了如下所示的代码(减去a
之间b
其他不相关的代码)如何将输入的分/秒格式设置为datetime.now()格式?
import time, sys, os, random
a = datetime.datetime.now().replace(microsecond=0)
#random code...
b = datetime.datetime.now().replace(microsecond=0)
timetype = input("Enter time type: ")#Either Seconds or Minutes
objectivetime = input("Enter objective time: ")#This will be an integer
if timetype == 'Seconds':
#convert objectivetime to seconds and present in same format as a or b
else:
#convert objectivetime into minutes and present in same format as a or b
elapsed_time = b-a
if objectivetime<=elapsed_time:
'Well done'
else:
'You have exceeded the objective time'
有什么办法,该代码可以进行编辑,以获得客观时间的方法一样进行格式化a
和b
(start_time和end_time)??
更新--------------------------------------------- -----------------------------
我该如何计算哪个时间更长(elapsed_time或objtime)?
见更新的代码:
import time, sys, os, random
import datetime
a = datetime.datetime.now().replace(microsecond=0)
print(a)
#random code...
time.sleep(3)
b = datetime.datetime.now().replace(microsecond=0)
timetype = input("Enter time type: ")#Either Seconds or Minutes
objectivetime = input("Enter objective time: ")#This will be an integer
objectivetime = int(objectivetime) # I noticed you didn't do this in your code
delta = None
if timetype == 'Seconds':
delta = datetime.timedelta(seconds = objectivetime)
else:
delta = datetime.timedelta(minutes = objectivetime)
objtime = a + delta
print(objtime)
#How would I work out which time is greater?? (elapsed_time or objtime)
elapsed_time = b-a
print(elapsed_time-objtime)
它看起来像[@Khaelid答案】(http://stackoverflow.com/a/23528388/4279)解决您的第一个问题:如何转换秒/分钟作为字符串给日期时间对象,第二个问题:如何比较日期时间对象。如果你有更多的问题,那么你可以尝试[问他们作为单独的问题](http://stackoverflow.com/questions/ask),如果他们[在StackOverflow主题](http://stackoverflow.com/help/on-topic) – jfs