Python Datum i vrijeme, vrijemeDelta, Strftime(Format) s primjerima
Datum i vrijeme ulazi u Python kategorizirani su 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โ apstraktna 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.
Ovi uvozni iskazi unaprijed su definirani dijelovi funkcionalnosti u Python biblioteka koja vam omoguฤuje manipuliranje datumima i vremenima, bez pisanja 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 Python. Naลพalost, ne piลกemo kรดd za ovu funkciju datuma, samo ga uvozimo za naลกu upotrebu
Korak 2) Zatim stvaramo instancu objekta datuma.
Korak 3) Zatim ispisujemo datum i pokreฤemo kod.
Rezultat je oฤekivan.
Ispiลกi datum pomoฤu date.today()
date.today funkcija ima nekoliko svojstava povezanih s njom. Moลพemo ispisati pojedinaฤni dan/mjesec/godinu i mnoge druge stvari
Pogledajmo primjer
Danaลกnji broj za radni dan
Funkcija date.today() takoฤer vam daje broj dana u tjednu. Ovdje je tablica radnih dana koja poฤinje s Monday kao 0 i nedjelja 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.
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.
Kada izvrลกimo kod za datum i vrijeme, on daje izlaz s trenutnim datumom i vremenom.
Korak 2) S โDATETIME OBJECTโ takoฤer moลพete pozvati vremensku klasu.
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.
U redu, moลพete vidjeti da sam ovdje dobio datum i vrijeme. I onda sljedeฤi redak, Imam samo vrijeme
Korak 3) Primijenit ฤemo naลก alat za indeksiranje dana u tjednu na naลก arrayList dana u tjednu kako bismo znali koji je dan danas
- Operatoru radnih dana (wd) dodjeljuje se broj od (0-6) broja ovisno o tome koji je trenutni dan u tjednu. Ovdje smo deklarirali niz popisa za dane (pon, uto, srijeda...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."
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, vrijeme i datum 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.
- Koristili smo "strftime funkcijaโ za oblikovanje.
- Ova funkcija koristi razliฤite kontrolni kod dati izlaz.
- Svaki kontrolni kod sliฤi razliฤitim parametrima kao ลกto su godina, mjesec, dan u tjednu i datum [(%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
Korak 3) Strf funkcija moลพe zasebno deklarirati datum, dan, mjesec i godinu. Takoฤer s malim promjenama u kontrolnom kodu u funkciji strftime moลพete formatirati stil teksta.
Unutar funkcije strftime ako (%a) zamijenite velikim A, tj. (%A), izlaz ฤe biti ispisan kao "Petak" umjesto samo kratice "Pet".
Korak 4) Uz pomoฤ funkcije โStrftimeโ takoฤer moลพemo dohvatiti lokalno vrijeme sustava, datum ili oboje.
- %C- oznaฤava lokalni datum i vrijeme
- %x- oznaฤava lokalni datum
- %X- oznaฤava lokalno vrijeme
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.
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, oduzimanja, mnoลพenja, dijeljenja 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ลกlosti. Da vidimo Python timedelta primjer za bolje razumijevanje.
Korak 1) Da biste pokrenuli Timedelta Objects, morate prvo deklarirati import naredbu, a zatim izvrลกiti kod
- Napiลกite izjavu uvoza za timedelta
- Sada napiลกite kod za ispis objekta iz vremenske delte kao ลกto je prikazano na snimci zaslona
- Pokrenite kod. Timedelta predstavlja raspon od 365 dana, 8 sati i 15 minuta i ispisuje isto
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
Korak 3) Vidjet ฤemo kako moลพemo dohvatiti datum za godinu dana kroz delta objekte. Kada pokrenemo kod, on daje oฤekivani izlaz.
Korak 4) Joลก jedan primjer kako se delta vremena moลพe koristiti za izraฤunavanje buduฤeg datuma iz trenutnog datuma i vremena
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 da, ulazi u petlju while
- ((today-nyd).days) daje razliku izmeฤu trenutnog datuma i nove godine u DANIMA
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
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)
Rezime
Za manipuliranje datumima i vremenima na jednostavne i sloลพene naฤine, modul datetime nudi razliฤite klase ili kategorije kao ลกto su
- 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โ apstraktna klasa za rad s vremenskim zonama
Koriลกtenje objekata datum i vrijeme
- Uvoz objekata datuma i vremena prije izvrลกavanja koda je obavezan
- Koriลกtenje funkcije date.today za ispis pojedinaฤnog datuma/mjeseca/godine kao i indeksiranje dana
- Koriลกtenje objekta date.time za dobivanje vremena u satima, minutama, sekundama i milisekundama
Formatiranje vremenskog ograniฤenja s "str f vremenskom funkcijom"
- Upotrijebite โstr f time functionโ za promjenu formata godine
- Odvojeni ispis dana, datuma, mjeseca i godine,
- Vrijeme poziva za bilo koji format 12 sati ili 24 sata
Timedelta objekti
- S timedelta objektima moลพete procijeniti vrijeme i za buduฤnost i za proลกlost
- Izraฤunajte ukupan broj preostalih dana za poseban dan (roฤendan) iz trenutnog vremena
- Izraฤunajte ukupan broj dana proteklih za poseban dan (roฤendan) od trenutnog vremena



















