Python:比较日期并打印出第一个日期
这可能很简单,但我是python的初学者,我想通过提示用户输入MM-DD格式的日期来比较生日日期。没有一年,因为今年是当年(2011年)。然后它会提示用户输入另一个日期,然后程序会比较它以查看哪个是第一个。然后它打印出较早的一天和它的工作日名称。
示例:02-10早于03-11。
02-10是周四,03-11是星期五
我刚刚开始学习模块,我知道我应该使用datetime模块,日期类和strftime来获取工作日名称。我真的不知道怎么把它们放在一起。
如果有人可以帮助我开始这将真的有帮助!我有一些零碎的东西:
import datetime
def getDate():
while true:
birthday1 = raw_input("Please enter your birthday (MM-DD): ")
try:
userInput = datetime.date.strftime(birthday1, "%m-%d")
except:
print "Please enter a date"
return userInput
birthday2 = raw_input("Please enter another date (MM-DD): ")
if birthday1 > birthday2:
print "birthday1 is older"
elif birthday1 < birthday2:
print "birthday2 is older"
else:
print "same age"
没有找到相关结果
已邀请:
3 个回复
哭木算
用于格式化时间,而不是解析它们。你想要
而不是。 在Python中,
有一个大写
。 你正在定义
函数但从不使用它。 你永远不会退出你的
循环,因为你在成功输入后没有
。 在Python中对变量和方法名称使用“驼峰案例”被认为是不好的风格。 您在引用日期时使用“较旧”一词,但没有一年您不能说一个人是否比另一个人年长。 当您尝试解析日期时捕获任何异常,但不显示它或检查其类型。这是一个坏主意,因为如果你在该行上输错了变量名(或类似的错字),你就不会看到错误。 以下是修复这些问题的代码的重写版本 - 我希望从上面可以清楚地看到我做出这些更改的原因:
屉杆绊
和
。 strftime用于格式化。它返回一个字符串对象。 strptime用于解析。它返回一个datetime对象。 更多信息在文档中。 既然你想要的是一个日期时间对象,你会想要使用strptime。您可以按如下方式使用它:
请注意,没有解析年份会将默认值设置为1900。
掏得透垦滩
然后当你有两个日期,date1和date2时,你可以这样做: