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

Python strptime()

In dit artikel leer je om een ​​datetime-object te maken van een string (met behulp van voorbeelden).

Video:datums en tijden in Python

De strptime() methode maakt een datetime-object van de gegeven tekenreeks.

Opmerking: U kunt geen datetime . maken object uit elke string. De string moet een bepaald formaat hebben.


Voorbeeld 1:string naar datetime-object


from datetime import datetime

date_string = "21 June, 2018"

print("date_string =", date_string)
print("type of date_string =", type(date_string))

date_object = datetime.strptime(date_string, "%d %B, %Y")

print("date_object =", date_object)
print("type of date_object =", type(date_object))

Wanneer u het programma uitvoert, is de uitvoer:


date_string = 21 June, 2018
type of date_string = <class 'str'>
date_object = 2018-06-21 00:00:00
type of date_object = <class 'datetime.datetime'>

Hoe strptime() werkt?

De strptime() class-methode heeft twee argumenten:

  • string (die geconverteerd moet worden naar datetime)
  • code opmaken

Op basis van de gebruikte tekenreeks en opmaakcode, retourneert de methode de equivalente datetime voorwerp.

In het bovenstaande voorbeeld:

Hier,

  • %d - Staat voor de dag van de maand. Voorbeeld: 01, 02, ..., 31
  • %B - Naam van de maand voluit. Voorbeeld: januari, februari enz.
  • %Y - Jaartal in vier cijfers. Voorbeeld: 2018, 2019 enz.

Voorbeeld 2:tekenreeks naar datetime-object


from datetime import datetime

dt_string = "12/11/2018 09:15:32"

# Considering date is in dd/mm/yyyy format
dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")
print("dt_object1 =", dt_object1)

# Considering date is in mm/dd/yyyy format
dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S")
print("dt_object2 =", dt_object2)

Wanneer u het programma uitvoert, is de uitvoer:

dt_object1 = 2018-11-12 09:15:32
dt_object2 = 2018-12-11 09:15:32

Codelijst opmaken

De onderstaande tabel toont alle formaatcodes die u kunt gebruiken.

Richtlijn Betekenis Voorbeeld
%a Afgekorte naam van de weekdag. Zon, ma, ...
%A Volledige naam van de weekdag. Zondag, maandag, ...
%w Weekdag als decimaal getal. 0, 1, ..., 6
%d Dag van de maand als een decimaal getal met nul. 01, 02, ..., 31
%-d Dag van de maand als decimaal getal. 1, 2, ..., 30
%b Afgekorte maandnaam. Jan, Feb, ..., Dec
%B Naam van volledige maand. Januari, februari, ...
%m Maand als een decimaal getal met nul. 01, 02, ..., 12
%-m Maand als decimaal getal. 1, 2, ..., 12
%y Jaar zonder eeuw als decimaal getal met nul. 00, 01, ..., 99
%-y Jaar zonder eeuw als decimaal getal. 0, 1, ..., 99
%Y Jaar met eeuw als decimaal getal. 2013, 2019 enz.
%H Uur (24-uurs klok) als een decimaal getal met nulpunt. 00, 01, ..., 23
%-H Uur (24-uurs klok) als decimaal getal. 0, 1, ..., 23
%I Uur (12-uurs klok) als een decimaal getal met nulpunten. 01, 02, ..., 12
%-I Uur (12-uurs klok) als decimaal getal. 1, 2, ... 12
%p Lokale AM ​​of PM. AM, PM
%M Minuut als een decimaal getal met nul. 00, 01, ..., 59
%-M Minuut als decimaal getal. 0, 1, ..., 59
%S Second als een decimaal getal met nul. 00, 01, ..., 59
%-S Seconde als decimaal getal. 0, 1, ..., 59
%f Microseconde als decimaal getal, links met nul opgevuld. 000000 - 999999
%z UTC-offset in de vorm +HHMM of -HHMM.  
%Z Naam tijdzone.  
%j Dag van het jaar als decimaal getal met nul. 001, 002, ..., 366
%-j Dag van het jaar als decimaal getal. 1, 2, ..., 366
%U Weeknummer van het jaar (zondag als eerste dag van de week). Alle dagen in een nieuw jaar voorafgaand aan de eerste zondag worden beschouwd als week 0. 00, 01, ..., 53
%W Weeknummer van het jaar (maandag als eerste dag van de week). Alle dagen in een nieuw jaar voorafgaand aan de eerste maandag vallen in week 0. 00, 01, ..., 53
%c Locale's juiste datum- en tijdweergave. Ma 30 Sep 07:06:05 2013
%x Locale's juiste datumweergave. 30/09/13
%X Locale's juiste tijdweergave. 07:06:05
%% Een letterlijk '%'-teken. %

Waardefout in strptime()

Als de string (eerste argument) en de formaatcode (tweede argument) doorgegeven worden aan de strptime() komt niet overeen, je krijgt ValueError . Bijvoorbeeld:


from datetime import datetime

date_string = "12/11/2018"
date_object = datetime.strptime(date_string, "%d %m %Y")

print("date_object =", date_object)

Als u dit programma uitvoert, krijgt u een foutmelding.

ValueError: time data '12/11/2018' does not match format '%d %m %Y'

Aanbevolen metingen: Python strftime()


Python

  1. Python-sleutelwoorden en -ID's
  2. Python-gegevenstypen
  3. Python-operators
  4. Python pass-instructie
  5. Python-functieargumenten
  6. Python-woordenboek
  7. Python-iterators
  8. Python-sluitingen
  9. Python RegEx
  10. Python datetime
  11. Python-tijdmodule