2011-08-11 11 views
5

एक तिथि को देखते हुए, आप महीने में सप्ताहांत की स्थिति कैसे जानते हैं (उदाहरण: महीने के तीसरे दिन का दिन) और अगले महीने के लिए आपको उसी सप्ताह के दिन की तारीख कैसे मिलती है (उदा। : महीने के तीसरे दिन का दिन + 1)?पायथन: निम्नलिखित महीनों की सप्ताहांत स्थिति

+0

पर एक नज़र डालें; आप इसे उन उत्तरों से समझने में सक्षम होना चाहिए। – eric

उत्तर

2

नीचे दिए गए उदाहरणों में, d एक datetime.date ऑब्जेक्ट है।

चालू माह के भीतर दिन के "सूचकांक" पाने के लिए, का उपयोग

def weekday_index(d): 
    return (d.day + 6) // 7 

यह फार्मूला क्या काम करने के दिन की तारीख वास्तव में है की स्वतंत्र काम करेंगे। दिन जो अगले महीने के भीतर ही काम करने के दिन सूचकांक के साथ एक ही काम करने के दिन है पाने के लिए, सबसे आसान तरीका

d_next = d + datetime.timedelta(weeks=4) 
if weekday_index(d_next) < weekday_index(d): 
    d_next += datetime.timedelta(weeks=1) 

होने के लिए इस तथ्य का उपयोग करता है लगता तारीख आप देख रहे हैं या तो 4 सप्ताह या 5 सप्ताह है d के बाद।

3

datetime मॉड्यूल पर एक नज़र डालें। विशेष रूप से date ऑब्जेक्ट की विधि। isocalendar भी सहायक हो सकता है।

2

आप पहले से ही रिश्तेदार तिथियों के बारे में दो अन्य प्रश्न पूछा है और उपयोगी जानकारी के बहुत प्राप्त हुआ है dateutil

1
import datetime 
cnt=1 
d=datetime.datetime.now() 
d1=datetime.datetime(d.year,d.month,1,d.hour,d.minute,d.second,d.microsecond) 
while(d1.day!=d.day): 
    if 6-d1.weekday()==1:cnt=cnt+1 
    d1=d1+datetime.timedelta(days=1) 
print cnt #print current date week position 
संबंधित मुद्दे