2014-10-31 124 views
-1

我想制作日期计数器,但我不想使用datetime。我已经做月份的天列表:Python 3中的日期计数器

monthDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 

这样,如果一月份数字输入,那么我可以通过列表相同数量的搜索和查找当月天数对应的量例如monthDays[7]会找到我31

我的日期输入格式为:dd/mm/yyyy,所以我只是使用date[0:2]来提取日期......等等。首先我检查输入日期是否将来 - 很好。

然后我说,如果月份等于今天的月份并且年份等于今天的年份,那么差异就是两天价值的差异。

我认真地从这里停留一点点......

我已经得到了,如果今天的月份是小于或等于输入月份和今天的一年等于输入年份,那么经过天数是:

  • 本月剩余的日子;和
  • 今天的月份和输入一个月

从带走之间的天数:

  • 为期两天值的差异。

任何人都可以从这里开始帮忙吗?我希望能够计算今天和任何日期之间的日期。

+2

“我想打一个日期计算,但我不希望使用日期时间。”我想知道这是否是某种带有限制功能的家庭作业,或者只是一个坏主意。如果你想写一个日期计数器,你正在使用日期时间模块。这是它的目的。不要重新发明轮子。日期很棘手,你不能只是重新实现这一点。 – 2014-10-31 16:58:27

+0

闰年呢? – 2014-10-31 16:59:45

+1

闰年又如何? – 2014-10-31 16:59:52

回答

1

如果日期在当年之后,那么您需要计算今年剩余的天数,然后计算新日期的新年的天数和中间的任何整年的天数。

不要忘记,monthDays [2]可以是28或29,具体取决于年份。闰年由以下年份确定:

  • 年份被4整除;
  • 如果年份可以平均除以100,那不是闰年,除非;
  • 年份也可以被400整除。然后是闰年。

(来源:http://www.timeanddate.com/date/leapyear.html