Python DataGodzina, godzinaDelta, Strftime(Format) z przykładami

In Python, data, godzina i data-godzina class udostępnia szereg funkcji do obsługi dat, godzin i przedziałów czasowych. Data i godzina w Python są obiektami, więc manipulując nimi, w rzeczywistości manipulujesz obiektami, a nie ciągami znaków czy znacznikami czasu. Za każdym razem, gdy manipulujesz datami lub godziną, musisz zaimportować funkcję datetime.

Klasy datetime w Python są podzielone na 5 głównych klas.

  • date – Manipuluj tylko datą (miesiąc, dzień, rok)
  • time – czas niezależny od dnia (godzina, minuta, sekunda, mikrosekunda)
  • datetime – Kombinacja czasu i daty (miesiąc, dzień, rok, godzina, sekunda, mikrosekunda)
  • timedelta — przedział czasu używany do manipulowania datami
  • tzinfo — Klasa abstrakcyjna do obsługi stref czasowych

Jak korzystać z klasy Date i DateTime

Krok 1) Przed uruchomieniem kodu formatu datetime w Python, ważne jest, aby zaimportować plik Python moduły daty i godziny, jak pokazano na zrzucie ekranu poniżej.

Użyj klasy Date i DateTime

Te instrukcje importu są wstępnie zdefiniowanymi elementami funkcjonalności w pliku Python biblioteka, która pozwala manipulować datami i godzinami bez pisania żadnego kodu.

Przed wykonaniem należy wziąć pod uwagę następujące kwestie: Python kod formatu daty i godziny

from datetime import date

Ta linia mówi Python interpreter, aby zaimportować klasę daty z modułu datetime w Python. Nie piszemy kodu dla tej funkcji daty, niestety po prostu importujemy go na nasz użytek

Krok 2) Następnie tworzymy instancję obiektu daty.

Użyj klasy Date i DateTime

Krok 3) Następnie drukujemy datę i uruchamiamy kod.

Użyj klasy Date i DateTime

Dane wyjściowe są zgodne z oczekiwaniami.

Drukuj datę za pomocą date.today()

date.today Funkcja ma kilka powiązanych z nią właściwości. Możemy wydrukować indywidualny dzień/miesiąc/rok i wiele innych rzeczy

Zobaczmy przykład

Drukuj datę za pomocą date.today()

Dzisiejszy numer dnia tygodnia

Funkcja date.today() podaje również numer dnia tygodnia. Oto tabela dni tygodnia, która zaczyna się od Monday jako 0, a w niedzielę jako 6

Dzień Numer dnia tygodnia
Monday 0
Wtorek 1
Wednesday 2
Czwartek 3
Piątek 4
Sobota 5
Niedziela 6

Numer dnia tygodnia jest przydatny w przypadku tablic, których indeks zależy od dnia tygodnia.

Drukuj datę za pomocą date.today()

Python Bieżąca data i godzina: teraz() dzisiaj()

Krok 1) Podobnie jak obiekty daty, możemy również użyć „OBIEKT DATETIME” in Python. Python Obiekty daty i godziny podają datę wraz z czasem godziny, minuty, sekundy i milisekundy.

Python Bieżąca data i godzina

Kiedy wykonujemy kod dla datetime, daje wynik z aktualną datą i godziną.

Krok 2) Za pomocą „OBIEKT DATETIME” możesz także wywołać klasę czasu.

Załóżmy, że chcemy wydrukować tylko bieżący czas bez daty.

t = datetime.time(datetime.now())
  • Zaimportowaliśmy klasę time. Przypiszemy mu aktualną wartość czasu za pomocą funkcji datetime.now()
  • Wartość aktualnego czasu przypisujemy zmiennej t.

A to da mi tylko czas. Uruchommy więc ten program.

Python Bieżąca data i godzina

OK, więc widzisz, że mam datę i godzinę. A potem następna linijka: Mam czas dla siebie

Krok 3) Zastosujemy nasz indeksator dni tygodnia do naszej tablicy arrayList dnia tygodnia, aby wiedzieć, który dzień jest dzisiaj

  • Operatorowi dni powszednich (wd) przypisywana jest liczba od (0-6) w zależności od tego, jaki jest bieżący dzień tygodnia. Tutaj zadeklarowaliśmy tablicę listy dla dni (Mon, Tue, Wed…Sun).
  • Użyj tej wartości indeksu, aby dowiedzieć się, który jest dzień. W naszym przypadku jest to numer 2 i reprezentuje środę, więc na wyjściu zostanie wydrukowane „Która jest środa”.

Python Bieżąca data i godzina

Oto kompletny kod umożliwiający uzyskanie aktualnej daty i godziny przy użyciu funkcji datetime now

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

Jak sformatować datę i godzinę za pomocą Strftime()

Na razie nauczyliśmy się, jak używać funkcji datetime i date obiekt w Python. Pójdziemy o krok dalej i dowiemy się, jak używać funkcji formatowania do formatowania godziny i daty.

Krok 1) Najpierw zobaczymy prosty krok, jak sformatować rok. Lepiej zrozumieć na przykładzie.

Formatuj wyjściową datę i godzinę za pomocą Strftime()

  • Korzystaliśmy z „funkcja strftime” do formatowania.
  • Ta funkcja wykorzystuje różne kod kontrolny aby dać wynik.
  • Każdy kod kontrolny przypomina różne parametry, takie jak rok, miesiąc, dzień tygodnia i data [(%y/%Y – rok), (%a/%A- dzień tygodnia), (%b/%B- miesiąc), (%d – dzień miesiąca)] .
  • W naszym przypadku tak („% Y”) który przypomina rok, wypisuje cały rok ze stuleciem (np. 2018).

Krok 2) Teraz, jeśli zastąpisz („%Y”) małymi literami, tj. („%y) i wykonasz kod, na wyjściu wyświetli się tylko (18), a nie (2018). Wiek roku nie będzie wyświetlany, jak pokazano na zrzucie ekranu poniżej

Formatuj wyjściową datę i godzinę za pomocą Strftime()

Krok 3) Funkcja Strf może oddzielnie deklarować datę, dzień, miesiąc i rok. Również przy niewielkich zmianach w kodzie sterującym w funkcji strftime można sformatować styl tekstu.

Formatuj wyjściową datę i godzinę za pomocą Strftime()

Wewnątrz funkcji strftime, jeśli zastąpisz (%a) przez duże A, tj. (%A), wynik zostanie wydrukowany jako „piątek”, a nie tylko skrót „piątek”.

Formatuj wyjściową datę i godzinę za pomocą Strftime()

Krok 4) Za pomocą funkcji „Strftime” możemy również pobrać lokalny czas systemowy, datę lub jedno i drugie.

  1. %C – wskazuje lokalną datę i godzinę
  2. %x- wskazuje datę lokalną
  3. %X- wskazuje czas lokalny

Formatuj wyjściową datę i godzinę za pomocą Strftime()

Na wyjściu widać wynik zgodnie z oczekiwaniami

Krok 5) Funkcja strftime umożliwia wywołanie czasu w dowolnym formacie 24-godzinnym lub 12-godzinnym.

Formatuj wyjściową datę i godzinę za pomocą Strftime()

Po prostu definiując kod sterujący, taki jak %I/H dla godziny, % M dla minuty, %S dla sekundy, można wywołać czas w różnych formatach

12 godzin zadeklarowano czas [drukuj teraz.strftime(“%I:%M:%S %p) ]

24 godzin zadeklarowano czas [drukuj teraz.strftime(„%H:%M”)]

Oto kompletny kod do konwersji datetime na obiekt String.

#
#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()

Czym jest Timedelta? Python?

Delta czasu w Python jest obiektem, który reprezentuje czas trwania. Jest głównie używany do obliczania czasu trwania między dwiema datami i godzinami. Jest również używany do pobierania obiektu z pewną deltą daty i godziny. Obiekt timedelta obsługuje operacje matematyczne, takie jak dodawanie, odejmowanie, mnożenie, dzielenie itp.

Jak korzystać z obiektów Timedelta

Wraz z Python Obiekty timedelta umożliwiają szacowanie czasu zarówno przyszłego, jak i przeszłego. Innymi słowy, jest to przedział czasowy, w którym można przewidzieć dowolny specjalny dzień, datę lub godzinę.

Pamiętaj, że ta funkcja nie służy do drukowania godziny ani daty, ale do OBLICZANIA przyszłości lub przeszłości. Zobaczmy Python przykład timedelta pozwalający lepiej to zrozumieć.

Krok 1) Aby uruchomić obiekty Timedelta, musisz najpierw zadeklarować polecenie importu, a następnie wykonać kod

Obiekty Timedelta

  1. Napisz instrukcję importu dla timedelta
  2. Teraz napisz kod, aby wydrukować obiekt z delty czasu, jak pokazano na zrzucie ekranu
  3. Uruchom kod. Timedelta reprezentuje okres 365 dni, 8 godzin i 15 minut i drukuje to samo

Mylące? Następny krok pomoże-

Krok 2) Uzyskajmy dzisiejszą datę i godzinę, aby sprawdzić, czy nasza instrukcja importu działa dobrze. Kiedy kod jest wykonywany, wypisuje dzisiejszą datę, co oznacza, że ​​nasza instrukcja importu działa dobrze

Obiekty Timedelta

Krok 3) Zobaczymy, jak możemy pobrać datę za rok od teraz za pomocą obiektów delta. Gdy uruchomimy kod, daje on oczekiwany wynik.

Obiekty Timedelta

Krok 4) Inny przykład wykorzystania delty czasu do obliczenia przyszłej daty na podstawie bieżącej daty i godziny

Obiekty Timedelta

Krok 5) Przyjrzyjmy się bardziej złożonemu przykładowi. Chciałbym ustalić, ile dni minęło od Nowego Roku. Oto, jak będziemy postępować

  • Używając Today= date.today() otrzymamy dzisiejszą datę
  • Wiemy, że Nowy Rok przypada zawsze 1 stycznia, ale rok może być inny. Używając nyd= date(dzisiaj.rok,1,1) przechowujemy nowy rok w zmiennej nyd
  • if nyd < today: porównuje, czy bieżąca data jest późniejsza niż nowy rok. Jeśli tak, wchodzi do pętli while
  • ((today-nyd).days) podaje różnicę między bieżącą datą a nowym rokiem w DNIach

Obiekty Timedelta

Wynik pokazuje, że „Nowy Rok minął już 11 dni temu”.

Oto kompletny działający 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 Przykład

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)

Podsumowanie

Aby manipulować datami i godzinami w sposób prosty i złożony, moduł datetime udostępnia różne klasy lub kategorie, takie jak:

  • date – Manipuluj tylko datą (miesiąc, dzień, rok)
  • time – czas niezależny od dnia (godzina, minuta, sekunda, mikrosekunda)
  • datetime – Kombinacja czasu i daty (miesiąc, dzień, rok, godzina, sekunda, mikrosekunda)
  • timedelta — przedział czasu używany do manipulowania datami
  • tzinfo — Klasa abstrakcyjna do obsługi stref czasowych

Używanie obiektów datetime

  • Importowanie obiektów datetime przed wykonaniem kodu jest obowiązkowe
  • Wykorzystanie funkcji date.today do wydruku indywidualnej daty/miesiąca/roku oraz indeksowania dnia
  • Użycie obiektu date.time w celu uzyskania czasu w godzinach, minutach, sekundach i milisekundach

Formatowanie limitu czasu za pomocą „funkcji str f time”

  • Użyj funkcji „str f time”, aby zmienić format roku
  • Drukuj dzień, datę, miesiąc i rok oddzielnie,
  • Czas wywołania w dowolnym formacie 12 godzin lub 24 godziny

Obiekty Timedelta

  • Za pomocą obiektów timedelta można oszacować czas zarówno przyszły, jak i przeszły
  • Oblicz całkowitą liczbę dni pozostałych na ten specjalny dzień (urodziny) od bieżącego czasu
  • Oblicz całkowitą liczbę dni, które upłynęły w dniu specjalnym (urodzinach) od bieżącego czasu