Python datetime.datetime.strptime()方法

Pythondatetime.datetime.strptime() 方法是在任何平台上以任何格式转换任何陈述时间的有效方法。

Pythondatetime.datetime.strptime() 方法的语法

datetime.datetime.strptime(time_date, format_data)

参数

time_data 它是字符串数据类型中的当前时间。
format_data 它是DateTime格式的数据,然后使用以下代码从time_data
代码 说明 例子
%a 缩略的工作日名称 星期日、星期一、星期二、星期三
%A 完整的工作日名称 星期日、星期一
%w 工作日的十进制数字 0,1,2,3,4,5,6
%d 日作为一个零填充的小数 01,02,03,04,05,06…
%-d 作为小数的一天 1,2,3,4,5,6…
%b 缩略的月份名称 一月、二月、三月
%m 以零填充的小数表示的月份 01,02,03,04,05,06…
%-m 作为小数的月号 1,2,3,4,5,6…
%B 完整的月份名称 一月,二月…
%y 不含世纪的年份,小数点后加零 99,00,01..
%-y 不含世纪的小数的年份 99,0,1..
%Y 带世纪的年份 1999,2000,2001..
%H 24小时时钟,小数点为零 01,02,….23
%-H 24小时的时钟为小数 1,2,3,….23
%I 12个小时的时钟,零填充的小数 01,02,….12
%-I 12个小时的时钟为小数点 1,2,3,….12
%M 分钟作为一个零填充的小数 01,02,….59
%-M 分钟为小数 1,2,3,….59
%S 秒为零填充的小数 01,02,….59
%-S 秒为小数 1,2,3,….59
%p 地区性的AM或PM AM, PM
%Z 时区名称 est, utc, gmt…
%z UTC偏移的形式为+HHMM或-HHMM +0112,-0112….
%j 一年中的天数,零填充的小数 001,002,….365
%-j 一年中的天数,以小数形式表示 1,2,3,….365
%c 当地语言的日期和时间表示法 Mon Aug 29 07:06:05 2022
%x locale的日期表示法 29/08/22
%X locale的时间表示法 10:03:43
%f 微秒,左边是零填充的 000000….999999
%U 一年中的周数(星期日为第一周) 0,1,2…6
%W 一年中的周数 00,01,…53

返回

该方法的返回类型是一个包含指定格式的当前日期和时间的对象。

示例代码:使用datetime.datetime.strptime() 方法工作

import datetime
time_data = "29/08/22 02:35:5.523"
format_data = "%d/%m/%y %H:%M:%S.%f"
date_time = datetime.datetime.strptime(time_data, format_data)
print(date_time.microsecond)
print(date_time.hour)
print(date_time.minute)
print(date_time.second)
print(date_time)

输出:

523000
2
35
5
2022-08-29 02:35:05.523000

上面的代码只显示了我们指定的属性。

示例代码:使用datetime.datetime.strptime() 方法转换字符串

import datetime
date_string = "29 August, 2022"
print("The date in string format= ", date_string)
print("The type of `date_string` is= ", type(date_string))
date_object = datetime.datetime.strptime(date_string, "%d %B, %Y")
print("The date in date_time format is= ", date_object)
print("The type of date_object is= ", type(date_object))

输出:

The date in string format=  29 August, 2022
The type of `date_string` is=  <class 'str'>
The date in date_time format is=  2022-08-29 00:00:00
The type of date_object is=  <class 'datetime.datetime'>

基于字符串和使用的格式代码,如%d,%B ,该方法返回其等价的datetime 对象。

示例代码:在datetime.datetime.strptime() 方法中使用时间戳对日期和时间进行排序

import datetime
time_data = ["09/05/99 02:35:8.023", "17/05/99 12:45:0.003", "27/05/99 07:35:5.523", "28/05/99 05:15:55.523"]
format_data = "%d/%m/%y %H:%M:%S.%f"
for x in time_data:
    print(datetime.datetime.strptime(x, format_data))

输出:

1999-05-09 02:35:08.023000
1999-05-17 12:45:00.003000
1999-05-27 07:35:05.523000
1999-05-28 05:15:55.523000

在上面的代码中,我们得到的时间是按照所有日期的序列结构。

示例代码:使用datetime.datetime.strptime() 方法转换格式

import datetime
input = '2022/08/29'
format = '%Y/%m/%d'
date_time = datetime.datetime.strptime(input, format)
print(date_time.date())

输出:

2022-08-29

这个方法允许我们将时间和日期从字符串格式转换为datetime 格式。