Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python's strftime() onder de knie krijgen: data en tijden omzetten naar leesbare strings

Python strftime()

In dit artikel leer je hoe je date-, time- en datetime-objecten kunt converteren naar hun equivalent string-representatie, met behulp van duidelijke voorbeelden.

Video: Datums en tijden in Python

De strftime()-methode retourneert een string die datum en tijd voorstelt, gebruikmakend van een date-, time- of datetime-object.


Voorbeeld 1: datetime naar string met strftime()

Het onderstaande programma converteert een datetime-object met de huidige datum en tijd naar verschillende string-formaten.

from datetime import datetime

now = datetime.now()  # huidige datum en tijd
year = now.strftime("%Y")
print("jaar:", year)
month = now.strftime("%m")
print("maand:", month)
day = now.strftime("%d")
print("dag:", day)
time = now.strftime("%H:%M:%S")
print("tijd:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("datum en tijd:", date_time)

Wanneer je het programma uitvoert, ziet de output er ongeveer zo uit:

jaar: 2018
maand: 12
dag: 24
tijd: 04:59:31
datum en tijd: 12/24/2018, 04:59:31

Hier zijn year, day, time en date_time strings, terwijl now een datetime-object is.


Hoe strftime() werkt

In het bovenstaande programma zijn %Y, %m, %d enz. formatcodes. De strftime()-methode accepteert een of meer formatcodes als argument en retourneert een geformatteerde string op basis hiervan.

  1. We importeerden de datetime-klasse uit de datetime-module. Dit is nodig omdat een object van de datetime-klasse toegang heeft tot de strftime()-methode.
  2. Het datetime-object met de huidige datum en tijd wordt opgeslagen in de variabele now.
  3. De strftime()-methode kan worden gebruikt om geformatteerde strings te maken.
  4. De string die je doorgeeft aan strftime() kan meer dan één formatcode bevatten.

Voorbeeld 2: String aanmaken vanuit een timestamp

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
print("Datum-tijd 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)

Output:

Datum-tijd object: 2018-06-12 09:55:22
Output 2: 06/12/2018, 09:55:22
Output 3: 12 Jun, 2018
Output 4: 12 June, 2018
Output 5: 09AM

Lijst met formatcodes

De onderstaande tabel toont alle codes die je kunt doorgeven aan de strftime()-methode.

DirectiveBetekenisVoorbeeld
%aAfgekorte weekday-naam.Zo, Ma, ...
%AVolledige weekday-naam.Zondag, Maandag, ...
%wWeekdag als decimaal getal.0, 1, ..., 6
%dDag van de maand als nul-gevulde decimaal.01, 02, ..., 31
%-dDag van de maand als decimaal getal (geen nul).1, 2, ..., 30
%bAfgekorte maandnaam.Jan, Feb, ..., Dec
%BVolledige maandnaam.Januari, Februari, ...
%mMaand als nul-gevulde decimaal.01, 02, ..., 12
%-mMaand als decimaal getal (geen nul).1, 2, ..., 12
%yJaar zonder eeuw, nul-gevuld.00, 01, ..., 99
%-yJaar zonder eeuw, geen nul.0, 1, ..., 99
%YJaar met eeuw als decimaal.2013, 2019, ...
%HUur (24-uurs klok), nul-gevuld.00, 01, ..., 23
%-HUur (24-uurs klok), geen nul.0, 1, ..., 23
%IUur (12-uurs klok), nul-gevuld.01, 02, ..., 12
%-IUur (12-uurs klok), geen nul.1, 2, ..., 12
%pLocale's AM of PM.AM, PM
%MMinuut als nul-gevulde decimaal.00, 01, ..., 59
%-MMinuut als decimaal getal.0, 1, ..., 59
%SSeconde als nul-gevulde decimaal.00, 01, ..., 59
%-SSeconde als decimaal getal.0, 1, ..., 59
%fMicroseconde als decimaal, links nul-gevuld.000000 - 999999
%zUTC-offset in vorm +HHMM of -HHMM.
%ZTijdzonenaam.
%jDag van het jaar, nul-gevuld.001, 002, ..., 366
%-jDag van het jaar, geen nul.1, 2, ..., 366
%UWeeknummer (zondag als eerste dag).00, 01, ..., 53
%WWeeknummer (maandag als eerste dag).00, 01, ..., 53
%cLocale's passende datum/tijd-weergave.Ma 30 Sep 07:06:05 2013
%xLocale's passende datumweergave.09/30/13
%XLocale's passende tijdweergave.07:06:05
%%Letterlijke '%'-teken.%

Voorbeeld 3: Locale's passende datum en tijd

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)

Output:

Output 1: Di 12 Jun 09:55:22 2018
Output 2: 06/12/18
Output 3: 09:55:22

Formatcodes %c, %x en %X worden gebruikt voor locale's passende datum- en tijdweergave.


We raden aan ook Python strptime() te bekijken. De strptime()-methode creëert een datetime-object vanuit een string.

Python

  1. Python Keywords en Identifiers: Gereserveerde woorden en naamconventies onder de knie krijgen
  2. Python Datatypes onder de knie krijgen: Een praktische gids
  3. Python Operators onder de knie krijgen: Een uitgebreide gids
  4. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  5. Python-dictionaries beheersen: aanmaken, manipuleren en geavanceerde technieken
  6. Python-iterators: hoe ze werken en hoe je je eigen maakt
  7. Python-closures uitgelegd: hoe geneste functies variabelen vangen
  8. Python Regular Expressions (re-module) – een praktische gids
  9. Python datetime beheersen: praktische gids voor datums, tijden en tijdzones
  10. Python's time-module beheersen: functies, structs en praktische voorbeelden
  11. Python's time.sleep() onder de knie krijgen: best practices, multithreading en real-world voorbeelden