📜  Python时间 strptime()函数

📅  最后修改于: 2022-05-13 01:55:49.224000             🧑  作者: Mango

Python时间 strptime()函数

Python的 strptime()函数用于格式化和返回日期和时间的字符串表示形式。它接受日期、时间或两者作为输入,并根据给它的指令解析它。如果无法根据提供的指令格式化字符串,则会引发 ValueError。

句法:

time.strptime(date_time_srting,directive)

这里,

  • date_time_string:它是一个必要的字符串参数,用于提供要格式化的日期。
  • 指令:该参数表示解析给定字符串的条件。它也是一个必要的参数。

指令表:

下表列出了Python支持的指令。

format codemeaningexample
%aAbbreviated weekday nameSun, Mon
%AFull weekday name Sunday, Monday
%wWeekday as decimal number0…6
%dDay of the month as a zero-padded decimal01, 02
%b Abbreviated month nameJan, Feb
%mmonth as a zero padded decimal number01, 02
%B Full month nameJanuary, February
%yyear without century as a zero padded decimal number99, 00 
%Yyear with century as a decimal number2000, 1999
%Hhour(24 hour clock) as a zero padded decimal number01, 23
%Ihour(12 hour clock) as a zero padded decimal number01, 12
%plocale’s AM or PMAM, PM
%MMinute as a zero padded decimal number01, 59
%SSecond as a zero padded decimal number01, 59
%fmicrosecond as a decimal number, zero padded on the left side000000, 999999
%zUTC offset in the form +HHMM or -HHMM 
%ZTime zone name 
%jday of the year as a zero padded decimal number001, 365
%UWeek number of the year (Sunday being the first)0, 6
%WWeek number of the year00, 53
%clocale’s appropriate date and time representationMon Sep 30 07:06:05 2013
%xlocale’s appropriate date representation11/30/98
%Xlocale’s appropriate time representation10:03:43
%%A literal ‘%’ character%

示例 1:迄今为止的Python字符串

Python3
import time
  
formatted_date = time.strptime(" 02 Dec 1996",
                               " %d %b %Y")
print(formatted_date)


Python3
import time
  
print(time.strptime("02/12/1996 5:53","%m/%d/%Y %H:%M"))


Python3
import time as datetime
  
datetime_str = '08/1/18 3:55:6'
  
try:
    datetime_object = datetime.strptime(datetime_str, '%m/%d/%y')
except ValueError as e:
    print('ValueError Raised:', e)
  
  
time_str = '25::55::26'
  
try:
    time_object = time.strptime(time_str, '%H::%M::%S')
except ValueError as e:
    print('ValueError:', e)


输出:



示例 2:将Python字符串为日期和时间

蟒蛇3

import time
  
print(time.strptime("02/12/1996 5:53","%m/%d/%Y %H:%M"))

输出:

示例 3:值错误

在此示例中,如果时间指令不匹配,则发生错误。

蟒蛇3

import time as datetime
  
datetime_str = '08/1/18 3:55:6'
  
try:
    datetime_object = datetime.strptime(datetime_str, '%m/%d/%y')
except ValueError as e:
    print('ValueError Raised:', e)
  
  
time_str = '25::55::26'
  
try:
    time_object = time.strptime(time_str, '%H::%M::%S')
except ValueError as e:
    print('ValueError:', e)

输出:

ValueError Raised: unconverted data remains:  3:55:6
ValueError: time data '25::55::26' does not match format '%H::%M::%S'