如何将Python日期字符串转换为日期对象?

如何将Python日期字符串转换为日期对象?

在本文中,我们将字符串日期转换为日期对象。我们使用 strptime() 方法将日期字符串转换为日期对象。

Strptime()

strptime() 方法以日期作为输入并将其转换为日期对象。请注意,您无法将任何字符串转换为日期时间对象。该字符串应具有特定的格式。

语法

strptime()方法的语法如下所示。

datetime.strptime(time_data, format_data)

其中,

time_date – 它是以字符串格式呈现的时间。

format_date – 它是以日期时间格式表示的数据(字符串),使用此函数从time_data转换而来。

几个重要的格式代码

格式代码 意义 示例
%a 缩写星期几的名称。 Mon, Tue,….
%A 完整的星期几名称。 Monday, Tuesday,….
%w 星期几的十进制值。 0,1,2….
%d 日期作为零填充的十进制数。 01,02,…,30
%-d 日期作为十进制数。 1,2,…….,30
%b 缩写月份名称。 Jan,Feb,…
%B 完整的月份名称。 January, February,….
%m 月份作为零填充的十进制数。 01,02,03,……,12
%-m 月份作为十进制数。 1,2,3,…….,12.
%y 年份,不带世纪,作为零填充的十进制数。 00,01,….
%Y 年份,带世纪,作为十进制数。 2001,2002,….
%-y 年份,不带世纪,作为十进制数。 0,1,2,3,…….
%H 小时(24小时制),作为零填充的十进制数。 01,02,…..,24
%-H 小时(24小时制),作为十进制数。 1,2,….,24. | %I | 小时(12小时制),作为零填充的十进制数。 | 01,02,….,12
%-I 小时(12小时制),作为十进制数。 1,2,…,12.
%p 上午或下午 AM,PM.
%M 分钟,作为零填充的十进制数。 00,01,02,….,59
%-M 分钟,作为十进制数。 1,2,…..,59.
%S 秒,作为零填充的十进制数。 01,02,….,59
%-S 秒,作为十进制数。 1,2,…..,59.
%f 微秒,作为十进制数,左侧补零 000000,000001,….999999
%j 一年中的第几天,作为零填充的十进制数。 001, 002, …, 366

示例1

在以下示例中,我们使用strptime将字符串日期转换为datetime对象。我们还提取了毫秒,分钟和秒。

from datetime import datetime
time_data = "23/01/01 04:35:7.123"
format_data = "%d/%m/%y %H:%M:%S.%f"
date = datetime.strptime(time_data, format_data)
print("微秒:",date.microsecond)
print("小时:",date.hour)
print("分钟:",date.minute)
print("秒钟:",date.second)
print("日期:",date)

输出

收到的输出如下。

微秒: 123000
小时: 4
分钟: 35
秒钟: 7
日期: 2001-01-23 04:35:07.123000

例2

在第一个示例中导入了模块,并提供了输入的 DateTime 字符串。现在我们使用 strptime() 方法获取所需格式和 date() 从 DateTime 检索日期。

import datetime
date_str = '29122017' # 日期 - 2017 年 12 月 29 日
format_str = '%d%m%Y' # 格式
datetime_obj = datetime.datetime.strptime(date_str, format_str)
print(datetime_obj.date())

输出

产生的输出如下所示。

2017年12月29日

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程