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

In Python, datum, vrijeme i datumvrijeme classes pruลพa brojne funkcije za rad s datumima, vremenima i vremenskim intervalima. Datum i datum i vrijeme u Python su objekti, tako da kada manipulirate njima, zapravo manipulirate objektima, a ne nizovima ili vremenskim oznakama. Kad god manipulirate datumima ili vremenom, trebate uvesti funkciju datuma i vremena.

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.

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 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.

Koristite klasu datuma i vremena

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

Koristite klasu datuma i vremena

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

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

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.

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

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) 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.

Python Trenutni datum i vrijeme

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."

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, 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.

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

  • 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

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

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.

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

Unutar funkcije strftime ako (%a) zamijenite velikim A, tj. (%A), izlaz ฤ‡e biti ispisan 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, 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

Timedelta objekti

  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

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 da, ulazi u petlju while
  • ((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

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

Saลพmite ovu objavu uz: