使用日期时间对象
在深入研究转换和函数之前,让我先了解一下在 Python 中使用日期时间对象的基础知识。该datetime模块提供了datetime允许您表示和操作日期和时间信息的类。
以下是为当前日期和时间创建日期时间对象的方法:
from datetime import datetime
current_datetime = datetime.now()
print (current_datetime)
日期时间到字符串的转换
经常需要将日期时间对象转换为字符串表示形式以供显示或存储。Pythonstrftime为此提供了方法。它允许您据指定的格式代码将日期时间对象格式化为字符串。
formatted_date = current_datetime.strftime( '%Y-%m-%d' )
formatted_time = current_datetime.strftime( '%H:%M:%S' )
print (formatted_date) # 输出: '2023-09-01'
print ( formatted_time) # 输出: '14:30:45'
字符串到日期时间的转换
相反,可能需要将日期时间字符串解析为日期时间对象。Pythonstrptime为此提供了函数:
date_string = '2023-09-01'
parsed_date = datetime.strptime(date_string, '%Y-%m-%d' )
print (parsed_date)
日期时间算术
可以使用日期时间对象执行算术运算。例如,可以计算两个日期时间对象之间的差异:
from datetime import timedelta
date1 = datetime( 2023 , 9 , 1 )
date2 = datetime( 2023 , 9 , 10 )
date_difference = date2 - date1
print (date_difference.days) # 输出:9
日期时间函数
Python 的datetime模块包含各种用于处理日期时间对象的函数。一些常见的功能包括:
- datetime.now():返回当前日期和时间。
- datetime.date():从日期时间对象中提取日期部分。
- datetime.time():从日期时间对象中提取时间部分。
- datetime.replace():创建一个新的日期时间对象,并替换指定的属性。
- datetime.weekday():以整数形式返回星期几(星期一为 0,星期日为 6)。
- datetime.strftime(format):根据提供的格式将日期时间对象格式化为字符串。
- datetime.strptime(date_string, format):使用指定格式将日期时间字符串解析为日期时间对象。
- datetime.timedelta(days=x, hours=y, minutes=z):创建一个表示持续时间的 timedelta 对象。
时区处理
使用日期时间对象时,可能需要考虑时区。该pytz库通常用于处理 Python 中的时区。可以使用以下命令安装它pip:
pip 安装 pytz
以下是使用时区的示例:
import pytz
# 创建具有特定时区的日期时间对象
tz = pytz.timezone( 'America/New_York' )
localized_time = tz.localize(datetime( 2023 , 9 , 1 , 12 , 0 , 0 ))
# 转换为不同时区
new_timezone = pytz.timezone( '欧洲/伦敦' )
conversion_time = localized_time.astimezone(new_timezone)
print (localized_time)
print (converted_time)
此代码演示了如何创建具有特定时区的日期时间对象,并使用该pytz库将它们转换为不同的时区。