पायथन में एक बिल्ट-इन मॉड्यूल datetime है जिसमें तारीख और समय पार्सिंग, फॉर्मेटिंग और अंकगणित के लिए फ़ंक्शन और क्लास शामिल हैं। समय मान time क्लास का उपयोग करके दर्शाए जाते हैं। इसमें घंटे, मिनट, सेकंड और माइक्रोसेकंड के लिए गुण होते हैं। उनमें टाइम जोन जानकारी भी शामिल हो सकती है।
उदाहरण: time क्लास
import datetime
t = datetime.time(1, 2, 3)
print(t)
print('hour :', t.hour)
print('minute :', t.minute)
print('second :', t.second)
print('microsecond:', t.microsecond)
print('tzinfo :', t.tzinfo)
आउटपुट
01:02:03
hour : 1
minute : 2
second : 3
microsecond: 0
tzinfo : None
एक time इंस्टेंस केवल समय के मान रखता है, उससे जुड़ी तारीख नहीं।
उदाहरण: date क्लास
कैलेंडर तारीख मान date क्लास के साथ दर्शाए जाते हैं। इंस्टेंस में वर्ष, महीना और दिन के लिए गुण होते हैं। today() क्लास मेथड का उपयोग करके आज की तारीख दर्शाने वाली date बनाना आसान है।
import datetime
today = datetime.date.today()
print(today)
print('ctime:', today.ctime())
print('tuple:', today.timetuple())
print('ordinal:', today.toordinal())
print('Year:', today.year)
print('Mon :', today.month)
print('Day :', today.day)
आउटपुट
2017-09-07
ctime: Thu Sep 7 00:00:00 2017
tuple: time.struct_time(tm_year=2017, tm_mon=9, tm_mday=7, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=250, tm_isdst=-1)
ordinal: 736579
Year: 2017
Mon : 9
Day : 7
datetime मॉड्यूल के मुख्य क्लास
| क्लास | विवरण |
|---|---|
datetime.date | तारीख (वर्ष, महीना, दिन) |
datetime.time | समय (घंटा, मिनट, सेकंड, माइक्रोसेकंड) |
datetime.datetime | तारीख और समय संयुक्त |
datetime.timedelta | अवधि/अंतर |
datetime.timezone | टाइमजोन जानकारी (पायथन 3.2+) |
उन्नत सुविधाओं के लिए: dateutil
`datetime` मॉड्यूल काफी बुनियादी है और अधिक उन्नत चीजें नहीं संभाल सकता। यदि आप निम्न जैसी सुविधाएं चाहते हैं तो आप dateutil (https://dateutil.readthedocs.io/en/stable/) का उपयोग करना बेहतर होगा:
- सापेक्ष डेल्टा की गणना (अगला महीना, अगला वर्ष, अगला सोमवार, महीने का अंतिम सप्ताह, आदि)
- दो दी गई तारीख और/या डेटटाइम ऑब्जेक्ट के बीच सापेक्ष डेल्टा की गणना
- पार्सिंग लचीली तारीख स्ट्रिंग्स
- पुनरावृत्ति नियम (rrule)
स्थापना
pip install python-dateutil
उदाहरण
from dateutil.relativedelta import relativedelta
from datetime import date
today = date.today()
next_month = today + relativedelta(months=1)
last_day_of_month = today + relativedelta(day=31)
next_monday = today + relativedelta(weekday=0) # 0=सोमवार