په پایتون کې د وخت ماډل 3. اصلي میتودونه، ټیمپلیټونه، مثالونه

تقریبا هر پروګرام وخت کاروي. په Python کې، د دې لپاره یو جلا کتابتون جوړ شوی دی - وختد دې سره د مختلفو کړنو ترسره کولو لپاره کارول کیږي. د دې لپاره چې دا کار وکړي، دا باید لومړی د کوډ په پیل کې اعلان شي. دا کرښه د دې لپاره کارول کیږي:

د واردولو وخت

راځئ چې په عمل کې د دې ماډل په سمه توګه کارولو څرنګوالي په اړه مختلف اختیارونه په پام کې ونیسو. 

د دورې راهیسې د ثانیو شمیر معلومول

د دې کار د ترسره کولو لپاره، یو فعالیت شتون لري وخت() کوم پیرامیټونه نه اخلي. د بیرته ستنیدو ارزښت دا دی چې د جنوري 1، 1970 راهیسې څومره ثانیې تیرې شوي دي. په پایتون کې، دا وخت د یوې دورې پیل بلل کیږي. لږترلږه د یونیکس کورنۍ عملیاتي سیسټمونو کې.

لکه څنګه چې د وینډوز لپاره، نیټه ورته ده، مګر ممکن د منفي ارزښتونو سره ستونزې وي چې د دې نیټې څخه مخکې وې. 

د وخت زون کارول شوی UTC دی.

د واردولو وخت

ثانیې = time.time()

چاپ ("د دورې څخه ثانیې ="، ثانیې)

د دې فعالیت پیچلتیا دا ده چې دا دقیق نیټه نه ښیې ، مګر یوازې د ثانیو شمیر. د هرچا لپاره پیژندل شوي فارمیټ ته د بدلولو لپاره ، تاسو اړتیا لرئ دقیق معلومات وکاروئ. د دې لپاره، فنکشن کارول کیږي time.ctime().

د نیټې بیرته راستنیدل، وخت په معمول بڼه

په معمول شکل کې د وخت بیرته راګرځولو لپاره، یو میتود شتون لري time.ctime(). بریکٹ یو متغیر یا شمیره په ګوته کوي چې د ثانیو شمیره په ګوته کوي چې د دورې له پیل راهیسې تیر شوي. دا طریقه د نیټې، کال، د ساعتونو شمیر، دقیقو، ثانیو، او د اونۍ د ورځې په ګډون د نیټې او وخت ځانګړتیاوې بیرته راګرځوي.

دا فنکشن پرته له دلیلونو هم کارول کیدی شي. په دې حالت کې، دا اوسنی نیټه، وخت او داسې نور بیرته راګرځوي.

دلته د کوډ ټوټه ده چې دا څرګندوي.

د واردولو وخت

چاپ (time.ctime())

سه شنبه 23 اکتوبر 10:18:23 2018

وروستۍ کرښه هغه څه دي چې کنسول ته چاپ شوي چیرې چې د Python ژباړونکی روان دی. دا طریقه په اوتومات ډول د ترلاسه شوي ثانیو شمیره د کارونکي پیژندل شوي فارمټ فارمیټ کوي. ریښتیا، پورته ذکر شوي ټول عناصر په ندرت سره کارول کیږي. د یوې قاعدې په توګه، تاسو اړتیا لرئ چې یا یوازې وخت ترلاسه کړئ، یا یوازې نن ورځ. د دې لپاره، یو جلا فعالیت کارول کیږي - strftime(). مګر مخکې لدې چې موږ یې په پام کې ونیسو ، موږ اړتیا لرو ټولګي تجزیه کړو time.struct_time.

د ټولګي وخت.struct_time

دا د دلیلونو یوه کټګوري ده چې د یو لړ میتودونو لخوا منل کیدی شي. دا هیڅ اختیار نلري. دا د نومول شوي انٹرفیس سره یو ټپل دی. په ساده ډول ووایاست، د دې ټولګي عناصر دواړه د نوم او د شاخص شمیرې لخوا لاسرسی کیدی شي.

دا د لاندې صفاتو څخه جوړه ده.په پایتون کې د وخت ماډل 3. اصلي میتودونه، ټیمپلیټونه، مثالونه

پاملرنه! د یو شمیر نورو پروګرامینګ ژبو برعکس، دلته میاشت له 1 څخه تر 12 پورې وي، نه له صفر څخه تر 11 پورې.

یو ځانګړی شکل بیرته راګرځول

د فنکشن کارول strftime() تاسو کولی شئ کال، میاشت، ورځ، ساعت، دقیقې، ثانیې په انفرادي ډول ترلاسه کړئ او د متن تار ته یې بیرته راشئ. بیا دا د فنکشن په کارولو سره کارونکي ته چاپ کیدی شي چاپ () یا بل ډول پروسس شوی.

د دلیل په توګه، یو فنکشن کولی شي هر متغیر واخلي چې د دې ماډل د نورو دندو لخوا بیرته راستانه شوي ارزښت اخلي. د مثال په توګه، تاسو کولی شئ محلي وخت دې ته انتقال کړئ (دا به وروسته بحث وشي)، له کوم ځای څخه به اړین معلومات راوباسي.

دلته د کوډ ټوټه ده چیرې چې موږ یې کوو.

د واردولو وخت

name_tuple = time.localtime() # ترلاسه کړئ struct_time

time_string = time.strftime(«%m/%d/%Y، %H:%M:%S»، په نوم_tuple)

چاپ (وخت_سترګه)

که تاسو دا کوډ پرمخ وړئ، اوسنی نیټه او وخت به ښکاره شي. د عناصرو بڼه او ترتیب بدل کیدی شي. دوی په لاندي توګه دي:

  1. %Y کال دی.
  2. %m میاشت ده.
  3. %d – ورځ.
  4. % H – وخت.
  5. %M – دقیقې
  6. %S – دویمه.

په دې اساس، تاسو کولی شئ دا جوړ کړئ ترڅو محصول یوازې د میاشتې او ورځې وي. د دې کولو لپاره، تاسو اړتیا نلرئ د کال ښودلو لپاره قوماندې ورکړئ. دا دی، په پورتني فورمول کې د دلیل په توګه ولیکئ %m/%d، او بس. یا برعکس، %d/%m. 

په واقعیت کې، د توری لیکونو شمیر خورا لوی دی. دلته یو جدول دی چیرې چې دوی په تفصیل سره تشریح شوي.په پایتون کې د وخت ماډل 3. اصلي میتودونه، ټیمپلیټونه، مثالونه

د یوې ټاکلې ثانیې لپاره تار ځنډول

د دې لپاره، فنکشن کارول کیږي خوب (). د پروګرام کولو دندو خورا لوی بلاک د وخت تیریدو سره تړاو لري. ځینې ​​​​وختونه تاسو باید بل ګام د یو ټاکلي وخت لپاره وځنډوئ. د مثال په توګه، که تاسو اړتیا لرئ د ډیټابیس سره اړیکه ونیسئ چې پروسس کولو لپاره یو ټاکلی وخت نیسي.

د دلیل په توګه، میتود یو ارزښت کاروي چې د الګوریتم څخه بل ګام ځنډولو لپاره د ثانیو شمیر څرګندوي.

د مثال په توګه، په دې ټوټه کې، ځنډ 10 ثانیې دی.

د واردولو وخت

وقفه = 10

چاپ ("پروګرام پیل شو ...")

وخت، خوب

چاپ(str(Pase) + » ثانیې تېرې شوې.»)

د پایلې په توګه، موږ به دا ترلاسه کړو:

پروګرام پیل…

10 ثانیې تیرې شوې.

لکه څنګه چې موږ د محصول څخه لیدلی شو، برنامه لومړی راپور ورکوي چې دا پیل شوی. او د لسو ثانیو وروسته، هغې لیکلي چې دا وخت تیر شو.

فنکشن تاسو ته اجازه درکوي چې د وقفې موده په ملی ثانیو کې مشخص کړئ. د دې کولو لپاره، موږ د فنکشن دلیل جزوی ارزښتونه کاروو خوب. د مثال په توګه، 0,1. دا پدې مانا ده چې ځنډ به 100 ملی ثانیه وي.

ځایی وخت ترلاسه کړئ

د ځایی وخت () فنکشن په کارولو سره، برنامه په ځانګړي وخت زون کې د دورې له پیل راهیسې د ثانیو شمیر ترلاسه کوي. 

راځئ چې د وضاحت لپاره کوډ مثال ورکړو.

د واردولو وخت

پایله = time.localtime(1575721830)

چاپ ("پایله:"، پایله)

چاپ («nгод:», result.tm_year)

چاپ ("tm_hour:"، پایله.tm_hour)

په UTC کې د وخت راهیسې د ثانیو د شمیر پراساس struct_time بیرته راګرځئ

دا دنده د time.gmtime() په کارولو سره ترلاسه کیږي. طریقه دا به روښانه شي که موږ یو مثال ورکړو.

د واردولو وخت

پایله = time.gmtime(1575721830)

چاپ ("پایله:"، پایله)

چاپ («nгод:», result.tm_year)

چاپ ("tm_hour:"، پایله.tm_hour)

که تاسو د عملونو دا ترتیب وګرځوئ، نو د وخت، کال او وخت زون پورې اړوند عناصرو سیټ به ښکاره شي.

ځایی وخت ته د اتوماتیک تبادلې سره د دورې له پیل راهیسې د ثانیو شمیر بیرته راستانه کړئ

که تاسو د داسې دندې سره مخ یاست، دا د میتود په کارولو سره پلي کیږي mktime()، کوم چې اخلي جوړښت_ وخت. له هغې وروسته، دا د فعالیت برعکس عمل ترسره کوي ځايي وخت(). دا دی، دا د ځایی وخت زون سره سم وخت د ثانیو په شمیر کې بدلوي چې د دورې له پیل راهیسې تیر شوي، د وخت زون لپاره تنظیم شوي.

د mktime() او localtime() دندې له نږدې سره تړلي دي. د دې کوډ ټوټه په روښانه توګه دا څرګندوي. راځئ چې دې ته یو نظر وګورو ترڅو په ژوره توګه پوه شو چې دا څنګه کار کوي. 

د واردولو وخت

ثانیې = ۱۵۷۵۷۲۱۸۳۰

# جوړښت_ وخت بیرته راګرځي

t = time.localtime(ثانوي)

چاپ («t1: «, t)

# د struct_time څخه ثانیې بیرته راګرځي

s = time.mktime(t)

چاپ («ns:»، ثانیې)

موږ ګورو چې متغیر ثانيو د دورې راهیسې 1575721830 ثانیې ټاکل شوي. لومړی ، برنامه دقیق نیټه ، وخت او نور پیرامیټونه ترلاسه کوي ، د دې ارزښت پراساس ، دا په متغیر کې واچوي t، او بیا خپل منځپانګې په متغیر بدلوي s.

له هغې وروسته یو نوی کرښه ماتوي او په کنسول کې د ثانیو شمیر ښیې. تاسو کولی شئ وګورئ چې دا به ورته شمیره وي چې د ثانیو متغیر ته ټاکل شوې وه.

د 9 شمیرو څخه د محصول نیټه چې struct_time ته اشاره کوي

فرض کړئ چې موږ 9 شمیرې لرو چې د کال، میاشت، نیټه، د اونۍ ورځ او یو شمیر نور ارزښتونه استازیتوب کوي، او موږ اړتیا لرو چې دوی په یوه تار کې سره یوځای کړو. د دې لپاره، فنکشن کارول کیږي asctime(). هغه مني یا چمتو کوي جوړښت_وخت، یا د 9 ارزښتونو کوم بل ټپل چې ورته ورته وي. له هغې وروسته، یو تار بیرته راستانه شوی، کوم چې نیټه، وخت، او یو شمیر نور پیرامیټونه دي. 

د دې میتود کارول خورا اسانه دي ترڅو د کارونکي لخوا مشخص شوي توپیر لرونکي ډیټا په یو واحد متغیر کې راوړي..

د مثال په توګه ، دا ممکن یو برنامه وي چیرې چې کارونکي په جلا توګه ورځ ، میاشت ، کال ، د اونۍ ورځ ، او د پیښې لپاره د راجسټریشن په اړه نور معلومات مشخص کوي. له هغې وروسته، ترلاسه شوي معلومات ډیټابیس ته داخلیږي او بیا بل چا ته لیږل کیږي چې غوښتنه یې کوي.

د Python تار پراساس وخت او نیټه ترلاسه کول

فرض کړئ چې کارونکي متفاوت معلومات مشخص کړي، او موږ اړتیا لرو چې دوی په یوه کرښه کې په هغه بڼه کې سره یوځای کړو چې هغه شخص داخل کړی، او بیا بل متغیر ته کاپي جوړ کړئ، او هلته یې په معیاري بڼه بیا جوړ کړئ. د دې لپاره، فنکشن کارول کیږي time.strptime().

دا یو متغیر اخلي په کوم کې چې دا ارزښت مشخص شوی، او موږ ته دمخه پیژندل شوی بیرته راګرځوي جوړښت_ وخت.

د وضاحت لپاره، موږ به دا ډول پروګرام ولیکئ.

د واردولو وخت

time_string = «۱۵ جون، ۲۰۱۹»

پایله = time.strptime(time_string، «%d %B، %Y»)

چاپ (نتیجه)

اټکل وکړئ چې محصول به څه وي؟ هڅه وکړئ پرته له دې چې لاندې کرښه وګورئ اټکل وکړئ. او بیا ځواب وګورئ.

time.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)

په یوه کلمه کې، په پایتون کې د نیټې او وختونو سره کار کول ستونزمن ندي. دا د دې لارښوونو تعقیب لپاره کافي دي، او هرڅه به کار وکړي. د کتابتون کارول وخت کارونکي د وخت سره کار کولو لپاره ډیری فرصتونه ترلاسه کوي، لکه:

  1. د یو مشخص وخت لپاره د پروګرام اجرا کول وځنډول.
  2. هغه وخت وښایاست چې د دورې څخه تیر شوی، په ثانیو کې. دا معلومات د وخت راټولولو یا په دې باندې د نورو ریاضياتي عملیاتو ترسره کولو لپاره کارول کیدی شي.
  3. په مناسب شکل بدل کړئ. برسېره پردې، پروګرامر پخپله کولی شي تنظیم کړي چې کوم عناصر به ښکاره شي او په کوم ترتیب کې. 

یو شمیر نور امکانات هم شتون لري، مګر نن موږ خورا اساسي تحلیل کوو. دوی به په نږدې هر برنامه کې کار وکړي چې یو څه د وخت سره کار کوي. ښه چانس.

یو ځواب ورکړئ ووځي