首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的日期比较-如何知道哪个学期的日期

python中的日期比较-如何知道哪个学期的日期
EN

Stack Overflow用户
提问于 2013-09-03 18:02:32
回答 2查看 1.1K关注 0票数 0

我不知何故陷入了逻辑思维。

我将比较这两个州的日期:

  1. 夏季学期(从16.04开始到14.10结束)
  2. 冬季学期(从15.10开始-15.04结束)

全部包括假期

这个月/一天的哪个学期我怎么查?

代码语言:javascript
复制
current_month = datetime.datetime.now().month
current_year = datetime.datetime.now().year
current_day = datetime.datetime.now().day

if current_month>=10 and current_day>=15:
   #winter semester

但不知何故我做得太混乱了。对于我的问题,有任何用于日期比较的python吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-03 18:06:16

你可以制作夏天的日期:

代码语言:javascript
复制
current = datetime.date.today()
summer = current.replace(month=4, day=16), current.replace(month=10, day=14)

if summer[0] <= current <= summer[1]:
    # summer semester
else:
    # winter semester

这使用datetime.date()对象而不是datetime.datetime(),因为时间部分在这里是不相关的。date.replace()调用确保了本年度的重用。

当然,这一切都假定,夏季学期每年的开始和结束日期是相同的。

演示:

代码语言:javascript
复制
>>> import datetime
>>> current = datetime.date.today()
>>> current
datetime.date(2013, 9, 3)
>>> summer = current.replace(month=4, day=16), current.replace(month=10, day=14)
>>> summer[0] <= current <= summer[1]:
True
票数 9
EN

Stack Overflow用户

发布于 2013-09-03 18:08:39

一种方法是创建一个查找表(当您有许多不相交的时间间隔时,这通常是一个好主意,但每个时间间隔都是离散的,就像一天一样)。

另一个办法是测试它是否是夏天--4月16日之后,10月15日之前。如果不是夏天,那就是冬天。当你有两个间隔--如果你有更多的话,分解(杂乱无章的代码)的话,效果会很好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18598697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档