अजगर - तिथि और समय

एक पायथन कार्यक्रम कई तरीकों से तारीख और समय को संभाल सकता है। दिनांक प्रारूपों के बीच परिवर्तित करना कंप्यूटर के लिए एक सामान्य काम है। पायथन का समय और कैलेंडर मॉड्यूल तारीख और समय को ट्रैक करने में मदद करते हैं।

टिक क्या है

समय अंतराल सेकंड की इकाइयों में फ्लोटिंग-पॉइंट नंबर हैं। 1 जनवरी, 1970 (युग) 00:00:00 बजे के बाद से समय में विशेष रूप से उदाहरणों को सेकंड में व्यक्त किया जाता है।

एक लोकप्रिय है timeपायथन में उपलब्ध मॉड्यूल जो समय के साथ काम करने के लिए और अभ्यावेदन के बीच परिवर्तित करने के लिए कार्य प्रदान करता है। फ़ंक्शन टाइम.टाइम () 00:00:00 बजे से 1 जनवरी, 1970 (युग) के बाद से टिक्स में वर्तमान सिस्टम समय देता है।

उदाहरण

#!/usr/bin/python
import time;  # This is required to include time module.

ticks = time.time()
print "Number of ticks since 12:00am, January 1, 1970:", ticks

यह इस प्रकार कुछ परिणाम देगा -

Number of ticks since 12:00am, January 1, 1970: 7186862.73399

तिथि अंकगणित टिक के साथ करना आसान है। हालाँकि, इस रूप में युग से पहले की तारीखों का प्रतिनिधित्व नहीं किया जा सकता है। सुदूर भविष्य की तारीखों को भी इस तरह से प्रस्तुत नहीं किया जा सकता है - कटऑफ पॉइंट 2038 में यूनिक्स और विंडोज के लिए कुछ समय है।

TimeTuple क्या है?

पायथन के कई कार्य 9 समय की संख्या के रूप में समय को संभालते हैं, जैसा कि नीचे दिखाया गया है -

सूची मैदान मूल्यों
0 4-अंक वर्ष 2008
1 महीना 1 से 12 तक
2 दिन 1 से 31
3 इस घंटे 0 से 23
4 मिनट 0 से 59
5 दूसरा 0 से 61 (60 या 61 लीप-सेकंड हैं)
6 सप्ताह के दिन 0 से 6 (0 सोमवार है)
7 साल का दिन 1 से 366 (जूलियन दिन)
8 दिन के उजाले की बचत -1, 0, 1, -1 का मतलब है कि लाइब्रेरी डीएसटी निर्धारित करती है

उपरोक्त टुपल के बराबर है struct_timeसंरचना। इस संरचना के निम्नलिखित गुण हैं -

सूची गुण मूल्यों
0 tm_year 2008
1 tm_mon 1 से 12 तक
2 tm_mday 1 से 31
3 tm_hour 0 से 23
4 tm_min 0 से 59
5 tm_sec 0 से 61 (60 या 61 लीप-सेकंड हैं)
6 tm_wday 0 से 6 (0 सोमवार है)
7 tm_yday 1 से 366 (जूलियन दिन)
8 tm_isdst -1, 0, 1, -1 का मतलब है कि लाइब्रेरी डीएसटी निर्धारित करती है

वर्तमान समय हो रहा है

टाइम-टुपल में युग -फ़्लोटिंग-पॉइंट मान के बाद से एक सेकंड में एक समय इंस्टेंट का अनुवाद करने के लिए, फ़्लोटिंग-पॉइंट वैल्यू को एक फ़ंक्शन (जैसे, स्थानीय समय) में पास करें जो सभी नौ वस्तुओं के साथ एक टाइम-टपल लौटाता है।

#!/usr/bin/python
import time;

localtime = time.localtime(time.time())
print "Local current time :", localtime

इससे निम्नलिखित परिणाम प्राप्त होंगे, जिन्हें किसी अन्य प्रस्तुत रूप में स्वरूपित किया जा सकता है -

Local current time : time.struct_time(tm_year=2013, tm_mon=7, 
tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)

स्वरूपित समय हो रहा है

आप अपनी आवश्यकता के अनुसार किसी भी समय प्रारूपित कर सकते हैं, लेकिन पठनीय प्रारूप में समय प्राप्त करने के लिए सरल तरीका asctime () है -

#!/usr/bin/python
import time;

localtime = time.asctime( time.localtime(time.time()) )
print "Local current time :", localtime

यह निम्नलिखित परिणाम का उत्पादन करेगा -

Local current time : Tue Jan 13 10:17:09 2009

एक महीने के लिए कैलेंडर प्राप्त करना

कैलेंडर मॉड्यूल वार्षिक और मासिक कैलेंडर के साथ खेलने के तरीकों की एक विस्तृत श्रृंखला देता है। यहां, हम किसी दिए गए महीने के लिए एक कैलेंडर प्रिंट करते हैं (जनवरी 2008) -

#!/usr/bin/python
import calendar

cal = calendar.month(2008, 1)
print "Here is the calendar:"
print cal

यह निम्नलिखित परिणाम का उत्पादन करेगा -

Here is the calendar:
   January 2008
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

समय मॉड्यूल

एक लोकप्रिय है timeपायथन में उपलब्ध मॉड्यूल जो समय के साथ काम करने और अभ्यावेदन के बीच परिवर्तित करने के लिए कार्य प्रदान करता है। यहां सभी उपलब्ध तरीकों की सूची दी गई है -

अनु क्रमांक। विवरण के साथ समारोह
1 time.altzone

UTC के पश्चिम में स्थानीय DST टाइमज़ोन की ऑफ़सेट, यदि कोई परिभाषित किया गया है। यह नकारात्मक है अगर स्थानीय डीएसटी टाइमज़ोन यूटीसी (ब्रिटेन सहित पश्चिमी यूरोप में) के पूर्व में है। अगर दिन की रोशनी नॉनजरो है तो ही इसका इस्तेमाल करें।

2 time.asctime ([tupletime])

एक टाइम-ट्यूपल को स्वीकार करता है और एक पठनीय 24-वर्ण स्ट्रिंग देता है जैसे कि 'Tue Dec 11 18:07:14 2008'।

3 समय घड़ी( )

वर्तमान CPU समय को कुछ सेकंड की फ़्लोटिंग-पॉइंट संख्या के रूप में देता है। विभिन्न दृष्टिकोणों की कम्प्यूटेशनल लागतों को मापने के लिए time.clock का मान time.time () की तुलना में अधिक उपयोगी है।

4 time.ctime ([सेकेंड])

जैसे कि ऐक्टिम (स्थानीय समय (सेकेंड)) और बिना तर्क के ऐक्टिम () के समान है

5 time.gmtime ([सेकेंड])

युग के बाद से सेकंड में व्यक्त किए गए एक पल को स्वीकार करता है और यूटीसी समय के साथ एक टाइम-ट्यूपल टी लौटाता है। नोट: t.tm_isdst हमेशा 0 होता है

6 time.localtime ([सेकेंड])

युग के बाद से सेकंड में व्यक्त किए गए एक पल को स्वीकार करता है और स्थानीय समय (t.tm_isdst 0 या 1 के साथ समय-टपल टी लौटाता है, यह इस बात पर निर्भर करता है कि क्या DST स्थानीय नियमों द्वारा तत्काल सेकंड पर लागू होता है)।

7 time.mktime (tupletime)

स्थानीय समय में समय-टुपल के रूप में व्यक्त एक पल को स्वीकार करता है और युग के बाद सेकंड में व्यक्त तत्काल के साथ एक अस्थायी-बिंदु मान देता है।

8 time.sleep (सेकंड)

सेकंड के लिए कॉलिंग थ्रेड को निलंबित करता है।

9 time.strftime (fmt [, tupletime])

स्थानीय समय में टाइम-टुपल के रूप में व्यक्त तत्काल को स्वीकार करता है और स्ट्रिंग fmt द्वारा निर्दिष्ट तत्काल के रूप में एक स्ट्रिंग का प्रतिनिधित्व करता है।

10 time.strptime (str, fmt = '% a% b% d% H:% M:% S% Y')

Parses स्ट्रिंग स्ट्रिंग fmt प्रारूप के अनुसार होती है और समय-समय प्रारूप में तुरंत वापस आती है।

1 1 समय.समय ()

वर्तमान समय को तुरंत लौटाता है, युग के बाद से सेकंड का एक अस्थायी-बिंदु संख्या।

12 time.tzset ()

लाइब्रेरी रूटीन द्वारा उपयोग किए जाने वाले समय रूपांतरण नियमों को रीसेट करता है। वातावरण चर TZ निर्दिष्ट करता है कि यह कैसे किया जाता है।

आइए हम संक्षेप में कार्य करते हैं -

समय मॉड्यूल के साथ उपलब्ध दो महत्वपूर्ण विशेषताएं निम्नलिखित हैं -

अनु क्रमांक। विवरण के साथ विशेषता
1

time.timezone

समय को सम्‍मिलित करें। समयक्षेत्र UTC से स्थानीय समय क्षेत्र (DST के बिना) के कुछ सेकंड्स में ऑफसेट है (> 0 अमेरिका में; <= 0 अधिकांश यूरोप, एशिया, अफ्रीका में)।

2

time.tzname

टाईम एट्रीब्यूट ।.tname लोकल-डिपेंडेंट स्ट्रिंग्स की एक जोड़ी है, जो क्रमशः DST के बिना और उसके साथ स्थानीय टाइम ज़ोन के नाम हैं।

कैलेंडर मॉड्यूल

कैलेंडर मॉड्यूल कैलेंडर से संबंधित कार्यों की आपूर्ति करता है, जिसमें दिए गए महीने या वर्ष के लिए पाठ कैलेंडर प्रिंट करने के लिए फ़ंक्शन भी शामिल हैं।

डिफ़ॉल्ट रूप से, कैलेंडर सप्ताह के पहले दिन के रूप में सोमवार और अंतिम के रूप में रविवार लेता है। इसे बदलने के लिए, Calendar.setfirstweekday () फ़ंक्शन को कॉल करें।

कैलेंडर मॉड्यूल के साथ उपलब्ध कार्यों की एक सूची इस प्रकार है -

अनु क्रमांक। विवरण के साथ समारोह
1

calendar.calendar(year,w=2,l=1,c=6)

सी रिक्त स्थान द्वारा अलग किए गए तीन स्तंभों में स्वरूपित एक कैलेंडर वर्ष के साथ एक बहु स्ट्रिंग लौटाता है। डब्ल्यू प्रत्येक तिथि के पात्रों में चौड़ाई है; प्रत्येक पंक्ति की लंबाई 21 * w + 18 + 2 * c है। एल प्रत्येक सप्ताह के लिए लाइनों की संख्या है।

2

calendar.firstweekday( )

प्रत्येक सप्ताह शुरू होने वाले कार्यदिवस के लिए वर्तमान सेटिंग लौटाता है। डिफ़ॉल्ट रूप से, जब कैलेंडर पहली बार आयात किया जाता है, तो यह 0 होता है, जिसका अर्थ है सोमवार।

3

calendar.isleap(year)

यदि वर्ष लीप वर्ष है, तो यह सच है; अन्यथा, गलत।

4

calendar.leapdays(y1,y2)

रेंज (y1, y2) के भीतर वर्षों में लीप दिनों की कुल संख्या देता है।

5

calendar.month(year,month,w=2,l=1)

साल के महीने के महीने के लिए एक कैलेंडर के साथ एक बहुस्तरीय स्ट्रिंग लौटाता है, प्रति सप्ताह एक पंक्ति और दो हेडर लाइनें। डब्ल्यू प्रत्येक तिथि के पात्रों में चौड़ाई है; प्रत्येक पंक्ति की लंबाई 7 * w + 6 है। एल प्रत्येक सप्ताह के लिए लाइनों की संख्या है।

6

calendar.monthcalendar(year,month)

किलों की सूचियों की सूची लौटाता है। प्रत्येक सबलिस्ट एक सप्ताह को दर्शाता है। वर्ष वर्ष के महीने के बाहर दिन 0 पर सेट होते हैं; महीने के भीतर दिन उनके महीने, 1 और ऊपर सेट हैं।

7

calendar.monthrange(year,month)

दो पूर्णांक लौटाता है। पहला वर्ष वर्ष में महीने के महीने के पहले दिन के लिए कार्यदिवस का कोड है; दूसरा महीने में दिनों की संख्या है। सप्ताहांत कोड 0 (सोमवार) से 6 (रविवार) हैं; महीने की संख्या 1 से 12 है।

8

calendar.prcal(year,w=2,l=1,c=6)

प्रिंट कैलेंडर की तरह। कैलेंडर (वर्ष, w, l, c)।

9

calendar.prmonth(year,month,w=2,l=1)

प्रिंट कैलेंडर की तरह। महीने (वर्ष, महीना, डब्ल्यू, एल)।

10

calendar.setfirstweekday(weekday)

प्रत्येक सप्ताह के पहले दिन को सप्ताह के दिन के कार्यदिवस पर सेट करता है। सप्ताहांत कोड 0 (सोमवार) से 6 (रविवार) हैं।

1 1

calendar.timegm(tupletime)

Time.gmtime का विलोम: टाइम-टुपल रूप में एक समय को तुरंत स्वीकार करता है और एक ही पल को सेकंड के बाद से एक फ्लोटिंग-पॉइंट नंबर के रूप में वापस करता है।

12

calendar.weekday(year,month,day)

दिए गए दिनांक के लिए कार्यदिवस कोड लौटाता है। सप्ताहांत कोड 0 (सोमवार) से 6 (रविवार) हैं; महीने की संख्या 1 (जनवरी) से 12 (दिसंबर) है।

अन्य मॉड्यूल और कार्य

यदि आप रुचि रखते हैं, तो यहां आपको पायथन में तारीख और समय के साथ खेलने के लिए अन्य महत्वपूर्ण मॉड्यूल और कार्यों की एक सूची मिलेगी -

  • द डेटटाइम मॉड्यूल

  • pytz मॉड्यूल

  • dateutil मॉड्यूल