看起来您想了解的是datetime
模块,而不是datatime
。datetime
是Python标准库中的一个模块,用于处理日期和时间。它提供了丰富的类来操作日期和时间,包括解析、格式化以及算术运算。
datetime.datetime
: 包含日期和时间。datetime.date
: 只包含日期(年、月、日)。datetime.time
: 只包含时间(时、分、秒、微秒)。datetime.timedelta
: 表示两个日期或时间之间的差异。datetime.tzinfo
: 作为基类用于表示时区信息。datetime.timezone
: 实现了tzinfo
接口的具体类,用于固定偏移量的时区。datetime.datetime
pythonfrom datetime import datetime
now = datetime.now()
print(now)
pythonformatted_time = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_time) # 输出: 例如 '2025-03-12 16:30:00'
pythondate_str = "2025-03-12 16:30:00"
parsed_date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print(parsed_date)
datetime.date
pythonfrom datetime import date
today = date.today()
print(today) # 输出: 例如 '2025-03-12'
pythonspecific_date = date(2025, 3, 12)
print(specific_date)
datetime.time
pythonfrom datetime import time
specific_time = time(16, 30, 0)
print(specific_time) # 输出: '16:30:00'
datetime.timedelta
pythonfrom datetime import timedelta
delta = timedelta(days=5, hours=3)
future_date = today + delta
print(future_date)
pythonfrom datetime import datetime
date1 = datetime(2025, 3, 12)
date2 = datetime(2025, 3, 17)
delta = date2 - date1
print(delta.days) # 输出: 5
pythonfrom datetime import datetime, timedelta
now = datetime.now()
future = now + timedelta(days=10)
print(future.strftime('%Y-%m-%d %H:%M:%S'))
pythonfrom datetime import datetime
date_string = "2025-03-12 16:30:00"
date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date_object.strftime('%A, %B %d, %Y')) # 输出: 'Wednesday, March 12, 2025'
从Python 3.2开始,datetime
模块增加了对时区的支持。你可以使用timezone
类创建固定偏移量的时区对象,或者继承tzinfo
类实现更复杂的时区逻辑。
pythonfrom datetime import datetime, timezone, timedelta
# 创建一个UTC+8时区
tz = timezone(timedelta(hours=8))
dt = datetime.now(tz)
print(dt) # 输出带有时区信息的日期时间
对于更复杂的需求,如夏令时(DST),推荐使用第三方库如pytz
或zoneinfo
(Python 3.9引入)。