Python strftime () - z datetime na string

W tym artykule nauczysz się konwertować obiekty daty, godziny i daty i godziny na ich odpowiedniki (z pomocą przykładów)

strftime()Metoda zwraca łańcuch znaków reprezentujący datę i godzinę za pomocą daty, czasu lub datetime obiekt.

Przykład 1: datetime na string przy użyciu strftime ()

Poniższy program konwertuje datetimeobiekt zawierający aktualną datę i godzinę na różne formaty ciągów.

  from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time) 

Po uruchomieniu programu wynik będzie wyglądał mniej więcej tak:

 rok: 2018 miesiąc: 12 dzień: 24 godzina: 04:59:31 data i godzina: 12/24/2018, 04:59:31 

Tutaj rok, dzień, godzina i data_czas są łańcuchami, podczas gdy teraz jest datetimeobiektem.

Jak działa strftime ()?

W powyższym programie %Y, %m, %ditd. Są kody formatu. strftime()Metoda trwa jeden lub więcej kodów formatu jako argument i zwraca sformatowany ciąg w oparciu o niego.

  1. Zaimportowaliśmy datetimeklasę z datetimemodułu. Dzieje się tak, ponieważ obiekt datetimeklasy ma dostęp do strftime()metody.
  2. datetimeObiekt zawierający bieżącą datę i czas jest przechowywany w zmiennej teraz.
  3. Ta strftime()metoda może służyć do tworzenia sformatowanych ciągów.
  4. Ciąg przekazany do strftime()metody może zawierać więcej niż jeden kod formatu.

Przykład 2: Tworzenie ciągu znaków ze znacznika czasu

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d) 

Po uruchomieniu programu wynik będzie następujący:

 Data czas obiekt: 2018-06-12 09:55:22 Wyjście 2: 12.06.2018, 09:55:22 Wyjście 3:12 czerwca 2018 Wyjście 4:12 czerwca 2018 Wyjście 5:09 

Formatuj listę kodów

Poniższa tabela przedstawia wszystkie kody, które można przekazać do strftime()metody.

Dyrektywa Znaczenie Przykład
%a Skrócona nazwa dnia tygodnia. Niedz., Pon.…
%A Pełna nazwa dnia tygodnia. Niedziela poniedziałek,…
%w Dzień tygodnia jako liczba dziesiętna. 0, 1,…, 6
%d Dzień miesiąca jako ułamek dziesiętny z wypełnieniem zerowym. 01, 02,…, 31
%-d Dzień miesiąca jako liczba dziesiętna. 1, 2,…, 30
%b Skrócona nazwa miesiąca. Styczeń, luty,…, grudzień
%B Pełna nazwa miesiąca. Styczeń luty,…
%m Miesiąc jako liczba dziesiętna z zerami. 01, 02,…, 12
%-m Miesiąc jako liczba dziesiętna. 1, 2,…, 12
%y Rok bez wieku jako liczba dziesiętna z wypełnieniem zerowym. 00, 01,…, 99
%-y Rok bez wieku jako liczba dziesiętna. 0, 1,…, 99
%Y Rok z wiekiem jako liczbą dziesiętną. 2013, 2019 itd.
%H Godzina (zegar 24-godzinny) jako liczba dziesiętna z zerami. 00, 01,…, 23
%-H Godzina (zegar 24-godzinny) jako liczba dziesiętna. 0, 1,…, 23
%I Godzina (zegar 12-godzinny) jako liczba dziesiętna z zerami. 01, 02,…, 12
%-I Godzina (zegar 12-godzinny) jako liczba dziesiętna. 1, 2,… 12
%p Lokalne AM lub PM. AM, PM
%M Minuta jako liczba dziesiętna z zerami. 00, 01,…, 59
%-M Minuta jako liczba dziesiętna. 0, 1,…, 59
%S Po drugie jako liczba dziesiętna z zerami. 00, 01,…, 59
%-S Drugi jako liczba dziesiętna. 0, 1,…, 59
%f Mikrosekunda jako liczba dziesiętna, dopełniona zerami po lewej stronie. 000000 - 999999
%z Przesunięcie czasu UTC w postaci + GGMM lub -GGMM.
%Z Nazwa strefy czasowej.
%j Dzień roku jako liczba dziesiętna z zerami. 001, 002,…, 366
%-j Dzień roku jako liczba dziesiętna. 1, 2,…, 366
%U Numer tygodnia w roku (niedziela jako pierwszy dzień tygodnia). Wszystkie dni w nowym roku poprzedzające pierwszą niedzielę są uważane za tydzień 0. 00, 01,…, 53
%W Numer tygodnia w roku (poniedziałek jako pierwszy dzień tygodnia). Wszystkie dni w nowym roku poprzedzające pierwszy poniedziałek przypadają na tydzień 0. 00, 01,…, 53
%c Odpowiednia reprezentacja daty i czasu w ustawieniach regionalnych. Poniedziałek, 30 września, 07:06:05 2013
%x Właściwa reprezentacja daty dla lokalizacji. 30.09.13
%X Odpowiednia reprezentacja czasu w języku lokalnym. 07:06:05
%% Dosłowny znak „%”. %

Przykład 3: odpowiednia data i godzina dla ustawień regionalnych

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d) 

Po uruchomieniu programu wynik będzie następujący:

 Wyjście 1: wt. 12 czerwca 09:55:22 2018 Wyjście 2:06/12/18 Wyjście 3: 09:55:22 

Formatować kody %c, %xi %Xsą wykorzystywane do właściwej daty i czasu reprezentacji ustawień regionalnych.

Zalecamy również sprawdzenie Pythona strptime (). strptime()Metoda tworzy datetimeobiekt z łańcucha.

Interesujące artykuły...