Python3 str 转成 datetime
在Python编程中,我们经常需要在字符串和日期时间之间进行转换。其中,将字符串转换为日期时间对象是一项常见的任务。在Python中,我们可以使用datetime
模块来处理日期时间相关的操作。本文将介绍如何将字符串转换为datetime
对象的方法,并提供相应的代码示例。
什么是 datetime
对象?
在Python中,datetime
是一个包含日期和时间的类。它是datetime
模块中的一个类,用于处理日期和时间的操作。datetime
类的对象具有日期和时间的属性,可以进行各种日期时间计算和比较操作。在处理时间序列数据、日志分析、数据分析等领域,datetime
对象非常有用。
字符串转换为 datetime
对象的方法
在Python中,我们可以使用datetime
模块的strptime()
函数将字符串转换为datetime
对象。strptime()
函数基于指定的格式将字符串解析为datetime
对象。下面是strptime()
函数的语法:
datetime.datetime.strptime(date_string, format)
date_string
:要转换的字符串。format
:日期时间格式字符串,指定date_string
的格式。
format
参数可以使用一些预定义的格式码,如下表所示:
格式码 | 含义 |
---|---|
%Y | 年份,4位数字 |
%m | 月份,2位数字(01~12) |
%d | 日期,2位数字(01~31) |
%H | 小时(24小时制),2位数字(00~23) |
%M | 分钟,2位数字(00~59) |
%S | 秒,2位数字(00~59) |
%f | 微秒,6位数字(000000~999999) |
%z | UTC时区偏移量,格式如+HHMM或-HHMM |
%Z | 时区名称 |
%j | 年份中的第几天(001~366) |
%U | 年份中的第几周(00~53),星期日是一周的开始 |
%W | 年份中的第几周(00~53),星期一是一周的开始 |
下面是一个示例,将字符串"2022-01-01 12:00:00"
转换为datetime
对象:
from datetime import datetime
date_string = "2022-01-01 12:00:00"
format = "%Y-%m-%d %H:%M:%S"
datetime_obj = datetime.strptime(date_string, format)
print(datetime_obj)
输出结果为:
2022-01-01 12:00:00
代码示例
下面我们来看一个完整的代码示例,该示例演示了如何将字符串转换为datetime
对象,并进行一些日期时间的计算和比较操作:
from datetime import datetime, timedelta
# 将字符串转换为 datetime 对象
date_string = "2022-01-01 12:00:00"
format = "%Y-%m-%d %H:%M:%S"
datetime_obj = datetime.strptime(date_string, format)
print(datetime_obj)
# 获取当前时间
current_datetime = datetime.now()
print(current_datetime)
# 计算两个日期之差
time_diff = current_datetime - datetime_obj
print(time_diff)
# 格式化日期时间输出
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_datetime)
# 在日期时间上进行加减操作
one_hour_later = current_datetime + timedelta(hours=1)
print(one_hour_later)
# 比较两个日期时间的大小
is_after = current_datetime > datetime_obj
print(is_after)
输出结果为:
2022-01-01 12:00:00
2022-10-01 14:30:00.123456
263 days, 2:30:00.123456
2022-10-01 14:30:00
2022-10-01 15:30:00
True
序列图
下面是一个序列图,演示了将字符串转换为datetime
对象的过程:
sequenceDiagram
participant User
participant Program
User ->> Program: 提