您的位置:

Python Datetime Strptime Format:日期时间转换的利器

在日常工作和生活中,我们需要对日期和时间进行处理,包括格式化输出、计算时间差、时间比较等。Python作为一种高级编程语言,为我们提供了便捷的处理日期时间的方法,这就是datetime模块。其中,strptime()和strftime()两个方法是日期时间转换的利器。

一、strptime()方法

strptime()方法用于将字符串转换成datetime类型的日期时间数据,其参数包括要转换的字符串和要转换的格式字符串。

import datetime
str_time = '2022-01-01 12:00:00'
format_str = '%Y-%m-%d %H:%M:%S'
time_obj = datetime.datetime.strptime(str_time, format_str)
print(time_obj)

这段代码的输出结果为:2022-01-01 12:00:00,表明已经将字符串转换成为datetime类型的日期时间数据。其中,%Y、%m、%d、%H、%M、%S等是格式字符,它们表示年、月、日、时、分、秒等。对于不同的格式字符,具体的含义和格式输出也不同。

二、strftime()方法

strftime()方法和strptime()方法是互逆的,它用于将datetime类型的日期时间数据格式化输出为字符串,其参数包括要转换的日期时间数据和要转换的格式字符串。

import datetime
time_obj = datetime.datetime(2022, 1, 1, 12, 0, 0)
format_str = '%Y-%m-%d %H:%M:%S'
str_time = time_obj.strftime(format_str)
print(str_time)

这段代码的输出结果为:2022-01-01 12:00:00,表示已经将datetime类型的日期时间数据格式化输出为字符串。同样,%Y、%m、%d、%H、%M、%S等是格式字符。

三、常见的日期时间格式化

下面列举几种常见的日期时间格式,以及如何使用格式字符将其转换成datetime类型的日期时间数据。

1、ISO 日期格式

ISO日期格式指的是国际标准化组织(ISO)定义的日期格式:"YYYY-MM-DD"。

import datetime
str_time = '2022-01-01'
time_obj = datetime.datetime.strptime(str_time, '%Y-%m-%d')
print(time_obj)

这段代码的输出结果为:2022-01-01 00:00:00

2、ISO 时间格式

ISO时间格式指的是国际标准化组织(ISO)定义的时间格式:"HH:MM:SS"。

import datetime
str_time = '12:00:00'
time_obj = datetime.datetime.strptime(str_time, '%H:%M:%S')
print(time_obj)

这段代码的输出结果为:1900-01-01 12:00:00,这是因为datetime类型的日期时间数据是包含日期和时间信息的,而我们只提供了时间信息,所以日期默认是1900年1月1日。

3、UTC 时间格式

UTC时间格式指的是世界协调时间(UTC)的时间格式:"YYYY-MM-DDTHH:MM:SSZ"。

import datetime
str_time = '2022-01-01T12:00:00Z'
time_obj = datetime.datetime.strptime(str_time, '%Y-%m-%dT%H:%M:%SZ')
print(time_obj)

这段代码的输出结果为:2022-01-01 12:00:00,不包括时区信息。

4、自定义时间格式

自定义时间格式指的是根据个人需求定义的时间格式,可以任意组合和排列格式字符。

import datetime
str_time = '2022-01-01 12:00:00'
time_obj = datetime.datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
format_str = '%B %d, %Y, %A, %I:%M %p'
print(time_obj.strftime(format_str))

这段代码的输出结果为:January 01, 2022, Saturday, 12:00 PM,其中%B表示月份的全称,%d表示日期,%Y表示年份,%A表示星期的全称,%I表示小时(12小时制),%M表示分钟,%p表示上午或下午。

四、总结

Python提供了datetime模块来方便地处理日期时间,其中,strptime()和strftime()方法是很好用的日期时间转换工具。通过掌握不同的格式字符和时间格式,我们可以很方便地进行日期和时间的处理,进而实现更多实用的功能。