Python Datum i vrijeme, vrijemeDelta, Strftime(Format) s primjerima

โšก Pametni saลพetak

Python datetime, zajedno s klasama date, time i timedelta, obraฤ‘uje datume, vremena i intervale kao objekte. Modul datetime formatira izlaz pomoฤ‡u strftime(), parsira nizove znakova i izraฤunava buduฤ‡e ili proลกle trenutke koristeฤ‡i timedelta aritmetiku.

  • ๐Ÿ”˜ Pet klasa: Modul datetime grupira klase date, time, datetime, timedelta i tzinfo za rad s datumom i vremenom.
  • โ˜‘๏ธ Trenutne vrijednosti: datetime.now() i date.today() vraฤ‡aju trenutni datum i vrijeme, ukljuฤujuฤ‡i i broj dana u tjednu.
  • โœ… Oblikovanje: Funkcija strftime() pretvara datum i vrijeme u ฤitljiv tekst pomoฤ‡u kontrolnih kodova kao ลกto su %Y, %A i %H.
  • ๐Ÿงช Vremenska delta: Objekt timedelta mjeri trajanje i predviฤ‘a buduฤ‡e ili proลกle datume zbrajanjem i oduzimanjem.traction.
  • ๐Ÿ› ๏ธ Direktive: Isti kontrolni kodovi pokreฤ‡u strftime() za izlaz i strptime() za ฤitanje niza natrag u datetime.
  • ๐Ÿค– Tijekovi rada umjetne inteligencije: Cjevovodi strojnog uฤenja izvode znaฤajke datuma i vremena kao ลกto su dan u tjednu i sat za modele vremenskih serija.

Python Datum vrijeme

In Python, datum, vrijeme i datumvrijeme Klase pruลพaju niz funkcija za rad s datumima, vremenima i vremenskim intervalima. Datum i datum i vrijeme u Python su objekti, pa kada njima manipulirate, zapravo manipulirate objektima, a ne stringovima ili vremenskim oznakama. Kad god manipulirate datumima ili vremenom, morate uvesti modul datetime.

Datum i vrijeme ulazi u Python su podijeljeni u 5 glavnih klasa.

  • datum โ€“ manipulirajte samo datumom (mjesec, dan, godina)
  • vrijeme โ€“ vrijeme neovisno o danu (sat, minuta, sekunda, mikrosekunda)
  • datetime โ€“ kombinacija vremena i datuma (mjesec, dan, godina, sat, sekunda, mikrosekunda)
  • timedeltaโ€” trajanje vremena koje se koristi za manipuliranje datumima
  • tzinfoโ€” Abstract klasa za rad s vremenskim zonama

Kako koristiti klasu datuma i vremena

Korak 1) Prije pokretanja koda za format datuma i vremena u Python, vaลพno je da uvezete Python module datuma i vremena kao ลกto je prikazano na slici ispod.

Koristite klasu datuma i vremena

Ovi uvozni iskazi unaprijed su definirani dijelovi funkcionalnosti u Python biblioteka koja vam omoguฤ‡uje manipuliranje datumima i vremenima bez pisanja ikakvog koda.

Razmotrite sljedeฤ‡e toฤke prije izvoฤ‘enja Python kod formata datuma i vremena

from datetime import date

Ovaj redak govori o Python tumaฤ za uvoz klase datuma iz modula datetime PythonNe piลกemo kod za ovu funkcionalnost datuma, veฤ‡ ga jednostavno uvozimo za naลกu upotrebu.

Ispiลกi datum pomoฤ‡u date.today()

Funkcija date.today() ima nekoliko svojstava povezanih s njom. Moลพemo ispisati pojedinaฤni dan/mjesec/godinu i mnoge druge stvari.

Pogledajmo primjer

Ispiลกi datum pomoฤ‡u date.today()

Danaลกnji broj za radni dan

Funkcija date.today() takoฤ‘er vam daje broj dana u tjednu. Evo tablice dana u tjednu koja poฤinje s Monday kao 0, a u nedjelju kao 6.

Dan Broj dana u tjednu
Monday 0
Utorak 1
Srijeda 2
ฤŒetvrtak 3
Petak 4
Subota 5
nedjelja 6

Broj dana u tjednu koristan je za nizove ฤiji indeks ovisi o danu u tjednu.

Ispiลกi datum pomoฤ‡u date.today()

Korak 2) Zatim stvaramo instancu objekta datuma.

Koristite klasu datuma i vremena

Korak 3) Zatim ispisujemo datum i pokreฤ‡emo kod.

Koristite klasu datuma i vremena

Izlaz je oฤekivan.

Python Trenutaฤni datum i vrijeme: sada() danas()

Korak 1) Kao objekti datuma, takoฤ‘er moลพemo koristiti โ€œOBJEKTI DATUM-VRIJEMEโ€ in Python. Python objekti datuma i vremena daju datum zajedno s vremenom sati, minute, sekunde i milisekunde.

Python Trenutni datum i vrijeme

Kada izvrลกimo kod za datum i vrijeme, on daje izlaz s trenutnim datumom i vremenom.

Korak 2) Pomoฤ‡u "DATETIME OBJECT" moลพete pozvati i klasu vremena. Pretpostavimo da ลพelimo ispisati samo trenutno vrijeme bez datuma.

t = datetime.time(datetime.now())
  • Uvezli smo vremensku klasu. Dodijelit ฤ‡emo mu trenutnu vrijednost vremena koristeฤ‡i datetime.now()
  • Varijabli t pridruลพujemo vrijednost trenutnog vremena.

A ovo ฤ‡e mi dati dovoljno vremena. Pa pokrenimo ovaj program.

Python Trenutni datum i vrijeme

U redu, moลพete vidjeti da ovdje imam datum i vrijeme. A onda u sljedeฤ‡em retku imam samo vrijeme.

Korak 3) Primijenit ฤ‡emo naลก indekser dana u tjednu na popis polja dana u tjednu kako bismo znali koji je danas dan.

  • Operatoru za dane u tjednu (wd) dodjeljuje se broj od (0-6) ovisno o tome koji je trenutni dan u tjednu. Ovdje smo deklarirali niz liste za dane (pon, uto, sri...ned).
  • Koristite tu vrijednost indeksa da znate koji je dan. U naลกem sluฤaju, to je #2 i predstavlja srijedu, tako da ฤ‡e u izlazu ispisati "Koja je srijeda."

Python Trenutni datum i vrijeme

Ovdje je kompletan kod za dobivanje trenutnog datuma i vremena koristeฤ‡i datetime sada

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

Kako formatirati izlaz datuma i vremena pomoฤ‡u Strftime()

Do sada smo nauฤili kako koristiti datum i vrijeme objekt u Python. Napravit ฤ‡emo korak dalje i nauฤiti kako koristiti funkciju oblikovanja za formatiranje vremena i datuma.

Korak 1) Prvo ฤ‡emo vidjeti jednostavan korak kako formatirati godinu. Bolje je razumjeti na primjeru.

Formatirajte izlaz datuma i vremena pomoฤ‡u Strftime()

  • Koristili smo "Funkcija strftime" za oblikovanje.
  • Ova funkcija koristi razliฤite kontrolni kod dati izlaz.
  • Svaki kontrolni kod nalikuje razliฤitim parametrima poput godine, mjeseca, dana u tjednu i datuma [(%y/%Y โ€“ godina), (%a/%A- radni dan), (%b/%B- mjesec), (%d โ€“ dan u mjesecu)] .
  • U naลกem sluฤaju jest ("%Y") koji nalikuje godini, ispisuje punu godinu sa stoljeฤ‡em (npr. 2018.).

Korak 2) Sada ako zamijenite (โ€œ%Yโ€) malim slovima, tj. ( โ€œ%y) i izvrลกite kod, izlaz ฤ‡e prikazati samo (18), a ne (2018). Stoljeฤ‡e u godini neฤ‡e se prikazati kao ลกto je prikazano na slici ispod

Formatirajte izlaz datuma i vremena pomoฤ‡u Strftime()

Korak 3) Funkcija Strf moลพe zasebno deklarirati datum, dan, mjesec i godinu. Takoฤ‘er, malim promjenama u kontrolnom kodu u funkciji strftime moลพete formatirati stil teksta.

Formatirajte izlaz datuma i vremena pomoฤ‡u Strftime()

Unutar funkcije strftime, ako zamijenite (%a) s velikim slovom A, tj. (%A), izlaz ฤ‡e se ispisati kao โ€žpetakโ€œ umjesto samo kratice โ€žpetโ€œ.

Formatirajte izlaz datuma i vremena pomoฤ‡u Strftime()

Korak 4) Uz pomoฤ‡ funkcije โ€œStrftimeโ€ takoฤ‘er moลพemo dohvatiti lokalno vrijeme sustava, datum ili oboje.

  1. %C- oznaฤava lokalni datum i vrijeme
  2. %x- oznaฤava lokalni datum
  3. %X- oznaฤava lokalno vrijeme

Formatirajte izlaz datuma i vremena pomoฤ‡u Strftime()

U izlazu moลพete vidjeti oฤekivani rezultat

Korak 5) Funkcija "strftime" omoguฤ‡uje vam da pozovete vrijeme u bilo kojem formatu 24 sata ili 12 sati.

Formatirajte izlaz datuma i vremena pomoฤ‡u Strftime()

Samo definiranjem kontrolnog koda kao ลกto je %I/H za sat, % M za minutu, %S za sekundu, moลพe se pozvati vrijeme za razliฤite formate

12 sati vrijeme je deklarirano [print now.strftime(โ€œ%I:%M:%S %p) ]

24 sati vrijeme je deklarirano [print now.strftime(โ€œ%H:%Mโ€)]

Ovdje je potpuni kod za pretvaranje datuma i vremena u String objekt.

#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print(now.strftime("%c"))
      print(now.strftime("%x"))
      print(now.strftime("%X"))
##### Time Formatting ####
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
      print(now.strftime("%H:%M")) # 24-Hour:Minute

if __name__== "__main__":
    main()

U ฤemu je Timedelta Python?

Timedelta in Python je objekt koji predstavlja trajanje. Uglavnom se koristi za izraฤunavanje trajanja izmeฤ‘u dva datuma i vremena. Takoฤ‘er se koristi za dohvaฤ‡anje objekta s nekim delta datumom i vremenom. Objekt timedelta podrลพava matematiฤke operacije poput zbrajanja, podraฤunavanjatraccije, mnoลพenje, dijeljenje itd.

Kako koristiti Timedelta objekte

Kontakt Python timedelta objekata, moลพete procijeniti vrijeme i za buduฤ‡nost i za proลกlost. Drugim rijeฤima, to je vremenski raspon za predviฤ‘anje bilo kojeg posebnog dana, datuma ili vremena.

Imajte na umu da ova funkcija nije za ispis vremena ili datuma, veฤ‡ za neลกto za IZRAฤŒUNANJE buduฤ‡nosti ili proลกlostiDa vidimo Python timedelta primjer za bolje razumijevanje.

Korak 1) Da biste pokrenuli Timedelta Objects, morate prvo deklarirati import naredbu, a zatim izvrลกiti kod

  1. Napiลกite izjavu uvoza za timedelta
  2. Sada napiลกite kod za ispis objekta iz vremenske delte kao ลกto je prikazano na snimci zaslona
  3. Pokrenite kod. Timedelta predstavlja raspon od 365 dana, 8 sati i 15 minuta i ispisuje isto

Timedelta objekti

Zbunjujuฤ‡e? Sljedeฤ‡i korak ฤ‡e pomoฤ‡i -

Korak 2) Uzmimo danaลกnji datum i vrijeme da provjerimo funkcionira li naลกa izjava o uvozu dobro. Kada se kรดd izvrลกi, on ispisuje danaลกnji datum ลกto znaฤi da naลกa izjava o uvozu radi dobro

Timedelta objekti

Korak 3) Vidjet ฤ‡emo kako moลพemo dohvatiti datum za godinu dana kroz delta objekte. Kada pokrenemo kod, on daje oฤekivani izlaz.

Timedelta objekti

Korak 4) Joลก jedan primjer kako se delta vremena moลพe koristiti za izraฤunavanje buduฤ‡eg datuma iz trenutnog datuma i vremena

Timedelta objekti

Korak 5) Pogledajmo sloลพeniji primjer. ลฝelio bih odrediti koliko dana je proลกlo od Nove godine. Evo kako ฤ‡emo nastaviti

  • Koriลกtenjem today= date.today() dobit ฤ‡emo danaลกnji datum
  • Znamo da je nova godina uvijek 1. sijeฤnja, ali godina bi mogla biti drugaฤija. Koristeฤ‡i nyd= date(today.year,1,1) spremamo novu godinu u varijablu nyd
  • ako je nyd < danas: usporeฤ‘uje je li trenutni datum veฤ‡i od nove godine. Ako jest, ulazi u while petlju
  • ((today-nyd).days) daje razliku izmeฤ‘u trenutnog datuma i nove godine u DANIMA

Timedelta objekti

Rezultat pokazuje da je "Nova godina veฤ‡ proลกla prije 11 dana."

Ovdje je kompletan radni kod

#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print ("New Year day is already went by %d days ago" % ((today - nyd).days))

Python 2 Primjer

Sljedeฤ‡i primjeri prikazuju iste operacije s datumom i vremenom napisane za Python 2, gdje je print naredba, a ne funkcija. Koristite ove verzije samo prilikom odrลพavanja naslijeฤ‘enog sustava Python 2 koda.

from datetime import date
from datetime import time
from datetime import datetime
def main():
 	##DATETIME OBJECTS
    #Get today's date from datetime class
	today=datetime.now()
	#print today
	# Get the current time
	#t = datetime.time(datetime.now())
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
        print "Today is day number %d" % wd
        print "which is a " + days[wd]

if __name__== "__main__":
    main()
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print now.strftime("%c")
      print now.strftime("%x")
      print now.strftime("%X")
##### Time Formatting ####   
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
      print now.strftime("%H:%M") # 24-Hour:Minute   

if __name__== "__main__":
    main()
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print "New Year day is already went by %d days ago" % ((today - nyd).days)

Pitanja i odgovori

Koristite datetime.strptime(text, format) za parsiranje niza znakova u objekt datuma i vremena. Proslijedite iste direktive koje koristi strftime(), pa se "2018-06-29" ฤita s "%Y-%m-%d". Kao obrnuto od strftime(), strptime() pretvara tekst ฤitljiv ljudima natrag u datum i vrijeme s kojim moลพete raฤunati.

Datum i vrijeme bez tzinfo-a je naivno; dodavanje vremenske zone ga ฤini svjesnim. Koristite ugraฤ‘eni modul zoneinfo (Python 3.9+) ili pytz paket za lokalizaciju datuma i vremena, a zatim pretvorbu izmeฤ‘u zona kako bi izraฤuni ostali toฤni u svim regijama.

Pozovite metodu timestamp() na datetime kako biste dobili sekunde od Unix epohe kao broj s pomiฤnim zarezom, na primjer datetime.now().timestamp(). Za obrnutu promjenu, datetime.fromtimestamp(value) ponovno izgraฤ‘uje datetime iz Unix vremenske oznake.

Oba vraฤ‡aju trenutni lokalni datum i vrijeme, ali datetime.now() prihvaฤ‡a neobavezni argument vremenske zone, dok datetime.today() ne. Za kod koji je svjestan vremenskih zona, preferirajte datetime.now(tz) kako bi rezultat nosio ispravan pomak umjesto da ostane naivan.

Da. Modul datuma i vremena isporuฤuje se s Python, tako da nije potrebna instalacija pip-a. Uvezite ga s "from datetime import datetime, date, time, timedelta" i klase date, time, datetime, timedelta i tzinfo odmah postaju dostupne.

Pozovite metodu isoformat() da biste dobili standardni ISO 8601 niz kao ลกto je โ€ž2018-06-29T08:15:27โ€œ. Za objekt datuma vraฤ‡a โ€žGGGG-MM-DDโ€œ. isoformat() ne treba kontrolne kodove, za razliku od strftime(), koja gradi prilagoฤ‘ene izglede iz direktiva.

Cjevovodi strojnog uฤenja pretvaraju sirove vremenske oznake u znaฤajke kao ลกto su dan u tjednu, sat, mjesec i proteklo vrijeme pomoฤ‡u datuma i vremenske delte. Ove konstruirane znaฤajke datuma pomaลพu modelima vremenskih serija i sustavima za predviฤ‘anje umjetne inteligencije u otkrivanju sezonskih i cikliฤkih obrazaca.

Da. GitHub Copilot i agentski AI asistenti generiraju strftime() format stringova, timedelta aritmetiku i pretvorbe vremenskih zona iz kratkog komentara te mogu objasniti kriptiฤne direktive. Uvijek pokrenite predloลพeni kod, buduฤ‡i da je rukovanje datumom i pomacima lako pogrijeลกiti.

Saลพmite ovu objavu uz: