在日常工作和生活中,我们需要对日期和时间进行处理,包括格式化输出、计算时间差、时间比较等。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()方法是很好用的日期时间转换工具。通过掌握不同的格式字符和时间格式,我们可以很方便地进行日期和时间的处理,进而实现更多实用的功能。