Tko se ne suočava s problemima kada nema svojih gadgeta ili telefona da vidi točno vrijeme. Suočio sam se s takvim problemima kada sam izašao van i pritom zaboravio ponijeti svoj mobitel. Ovaj članak govori o vremenu, datumu, vremenskim zonama i također o trenutnom vremenu u Pythonu. Pretvorbe vremena mogu biti prilično dosadne i zamorne, ali Python je odličan predah. Dakle, sada krenimo odmah s razumijevanjem koncepata datuma i vremena u Pythonu.
Modul klatna
Klatno je a Vremenska zona biblioteka koja olakšava manipulaciju datumom i vremenom. Sličan je modulu datetime, koji ćemo vidjeti malo kasnije. Pendulum modul također nudi metodu now() koja vraća lokalni datum i vrijeme.
Pendulum se lako može instalirati pomoću naredbe PIP:
pip install pendulum
Primjer,
import pendulum time = pendulum.now() print(time)
Izlaz:
2021-04-26 20:07:22.940108+05:30
Kao što je ranije spomenuto, metoda now() vraća trenutni datum i vrijeme kao što možemo vidjeti iz gornjeg izlaza.
Trenutačni datum i vrijeme u Pythonu
Python također nudi dosta značajki za pouzdanost i upotrebljivost koda na više platformi. Stoga u većini slučajeva korisnik treba datum ili vrijeme za određenu vremensku zonu, a korištenje nekih modula poput pytza i penduluma čini rad u takvom okruženju puno lakšim.
Note, da pytz modul dovodi Olson tz bazu podataka u Python. Omogućuje točne izračune vremenskih zona na više platformi.
pip install pytz
Primjer
Sada uzmimo primjer gdje pokušavamo dobiti i zatim ispisati datum kao i vrijeme za različite vremenske zone. To će se učiniti pomoću pytz modula i modula njihala.
import pytz from datetime import datetime utc = pytz.timezone('UTC') pst = pytz.timezone('America/Los_Angeles') ist = pytz.timezone('Asia/Calcutta') print("Using pytz Module:") print('Current Date and Time in UTC =', datetime.now(utc)) print('Current Date and Time in PST =', datetime.now(pst)) print('Current Date and Time in IST =', datetime.now(ist)) import pendulum utc1 = pendulum.timezone('UTC') pst1 = pendulum.timezone('America/Los_Angeles') ist1 = pendulum.timezone('Asia/Calcutta') print("Using pendulum Module:") print('Current Date Time in UTC =', datetime.now(utc1)) print('Current Date Time in PST =', datetime.now(pst1)) print('Current Date Time in IST =', datetime.now(ist1))
Izlaz
Using pytz Module: Current Date and Time in UTC = 2021-04-26 15:44:53.074040+00:00 Current Date and Time in PST = 2021-04-26 08:44:53.090041-07:00 Current Date and Time in IST = 2021-04-26 21:14:53.126043+05:30 Using pendulum Module: Current Date Time in UTC = 2021-04-26 15:44:56.888258+00:00 Current Date Time in PST = 2021-04-26 08:44:56.889258-07:00 Current Date Time in IST = 2021-04-26 21:14:56.889258+05:30
Ovdje,
- Za oba slučaja, prvo koristimo funkciju timezone() definiranu za module pytz i pendulum dok prosljeđujemo potrebnu vremensku zonu
- Zatim te objekte vremenske zone prosljeđujemo funkciji now(). . Metoda vraća točan datum i vrijeme za danu vremensku zonu.
Modul “datetime” — Trenutno vrijeme u Pythonu
Ovaj modul pruža klase za manipuliranje datumima i vremenima u Pythonu.
U donjem primjeru pokušavamo izvršiti različite operacije na datumu i vremenu. Poput dohvaćanja trenutnog datuma i trenutnog vremena i drugih sličnih stvari, koristeći metode i funkcije kao što su danas(), sada(), vrijeme itd.
Razni primjeri korištenja modula datetime
import time from datetime import datetime def main(): print('*** Get Current date & timestamp using datetime.now() ***') # Returns a datetime object containing the local date and time dateTimeObj = datetime.now() # Access the member variables of datetime object to print date & time information print(dateTimeObj.year, '/', dateTimeObj.month, '/', dateTimeObj.day) print(dateTimeObj.hour, ':', dateTimeObj.minute, ':', dateTimeObj.second, '.', dateTimeObj.microsecond) print(dateTimeObj) # Converting datetime object to string timestampStr = dateTimeObj.strftime("%d-%b-%Y (%H:%M:%S.%f)") print('Current Timestamp : ', timestampStr) timestampStr = dateTimeObj.strftime("%H:%M:%S.%f - %b %d %Y ") print('Current Timestamp : ', timestampStr) print('*** Fetch the date only from datetime object ***') # get the date object from datetime object dateObj = dateTimeObj.date() # Print the date object print(dateObj) # Access the member variables of date object to print print(dateObj.year, '/', dateObj.month, '/', dateObj.day) # Converting date object to string dateStr = dateObj.strftime("%b %d %Y ") print(dateStr) print('*** Fetch the time only from datetime object ***') # get the time object from datetime object timeObj = dateTimeObj.time() # Access the member variables of time object to print time information print(timeObj.hour, ':', timeObj.minute, ':', timeObj.second, '.', timeObj.microsecond) # It contains the time part of the current timestamp, we can access it's member variables to get the fields or we can directly print the object too print(timeObj) # Converting date object to string timeStr = timeObj.strftime("%H:%M:%S.%f") print(timeStr) print('*** Get Current Timestamp using time.time() ***') # Get the seconds since epoch secondsSinceEpoch = time.time() print('Seconds since epoch : ', secondsSinceEpoch) # Convert seconds since epoch to struct_time timeObj = time.localtime(secondsSinceEpoch) print(timeObj) # get the current timestamp elements from struct_time object i.e. print('Current TimeStamp is : %d-%d-%d %d:%d:%d' % ( timeObj.tm_mday, timeObj.tm_mon, timeObj.tm_year, timeObj.tm_hour, timeObj.tm_min, timeObj.tm_sec)) # It does not have the microsecond field print('*** Get Current Timestamp using time.ctime() *** ') timeStr = time.ctime() print('Current Timestamp : ', timeStr) if __name__ == '__main__': main()
Izlaz:
*** Get Current date & timestamp using datetime.now() *** 2021 / 4 / 26 20 : 24 : 10 . 371305 2021-04-26 20:24:10.371305 Current Timestamp : 26-Apr-2021 (20:24:10.371305) Current Timestamp : 20:24:10.371305 - Apr 26 2021 *** Fetch the date only from datetime object *** 2021-04-26 2021 / 4 / 26 Apr 26 2021 *** Fetch the time only from datetime object *** 20 : 24 : 10 . 371305 20:24:10.371305 20:24:10.371305 *** Get Current Timestamp using time.time() *** Seconds since epoch : 1619448851.1463068 time.struct_time(tm_year=2021, tm_mon=4, tm_mday=26, tm_hour=20, tm_min=24, tm_sec=11, tm_wday=0, tm_yday=116, tm_isdst=0) Current TimeStamp is : 26-4-2021 20:24:11 *** Get Current Timestamp using time.ctime() *** Current Timestamp : Mon Apr 26 20:24:11 2021
Ovdje pogledajte program za dan u tjednu s bibliotekom datuma i vremena.
ZAKLJUČAK
Kroz ovaj smo post stekli duboko razumijevanje različitih modula koji se tiču datuma i vremena te njihovih različitih funkcija i metoda. Također smo vidjeli kako instalirati i raditi s raznim bibliotekama kao što su pytz, pendulum i datetime. Stoga, sada pretpostavljam i nadam se da vam je tema o kojoj se radi sasvim jasna. Od tada smo detaljno obradili temu uz pomoć brojnih zanimljivih primjera.