2016-02-19 77 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

相關問題