2016-02-19 154 views
2

例如您将如何从如何使用一周中的某一天和一个月中的哪一天在python中获取年份?

星期五,二月19?

我从某处一个数据库,从过去的4年有项,但仅列出日期作为一周的日,月的一天,我需要从各获得一年。不应该有任何重复,因为只有4年的数据和日期&星期几比对没有在该时间范围内重复。

+0

如果没有附加信息,则无法进行。这就像我,要问哪一年是5月14日 – Untitled123

+0

即使你一周黑客变通的某一天,它仍然可能是不明确的 – Untitled123

+1

@ Untitled123如果你知道了一星期中的一天,这是在过去的4年里,你可以制定当年 –

回答

3

如何:

import datetime 

year = next(date for year in (2013, 2014, 2015, 2016) 
      for date in (datetime.date(year, 2, 19),) 
      if date.weekday() == 4).year 
+0

如果没有证据(或代码中的断言),有效输入恰好有一个匹配年,答案是不完整的。 – jfs

3

这仅仅是从@ zondo的回答谁打我吧略有不同,但我会,因为我不希望有.year在结束反正就把这件事长表达式:

year = next(y for y in range(2013, 2017) if datetime.date(y, 2, 19).weekday() == 4) 
+0

我不认为'year'在你的情况下是一个合适的名字,因为你将它分配给整个日期,而不仅仅是一年。 – zondo

+0

@zondo这是一年(和你的代码不同)。尝试一下。输出是2016. – gil

+0

哦,你是对的。我想我比你更喜欢你。 – zondo

相关问题