Python基础教程(Python 日期和时间)

在 Python 中,处理日期和时间是常见的需求,Python 提供了多个模块来完成这一任务,其中最常用的是 datetimetime 和 calendar 模块。下面为你详细介绍这些模块的使用。

1. time 模块

time 模块主要用于获取当前时间、进行时间转换以及实现时间延迟等操作。

1.1 获取当前时间戳

时间戳是一个浮点数,表示从 1970 年 1 月 1 日午夜(UTC)到当前时刻所经过的秒数。
import time

timestamp = time.time()
print(timestamp)

1.2 时间延迟

time.sleep() 函数可以让程序暂停执行指定的秒数。
 
import time

print("开始等待...")
time.sleep(3)  # 暂停 3 秒
print("等待结束。")

1.3 格式化时间

time.strftime() 函数可以将时间戳或当前时间格式化为指定的字符串。
import time

# 获取当前时间的结构化时间
current_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", current_time)
print(formatted_time)

上述代码中,%Y 表示年份,%m 表示月份,%d 表示日期,%H 表示小时,%M 表示分钟,%S 表示秒。

2. datetime 模块

datetime 模块提供了更高级的日期和时间处理功能,包含 datetimedatetime 等类。

2.1 获取当前日期和时间

from datetime import datetime

now = datetime.now()
print(now)

2.2 创建日期和时间对象

from datetime import datetime

# 创建一个指定日期和时间的对象
dt = datetime(2024, 10, 1, 12, 30, 0)
print(dt)

2.3 日期和时间的运算

可以对 datetime 对象进行加减运算,例如计算两个日期之间的差值,或者在某个日期上加上一段时间。
 
from datetime import datetime, timedelta

# 计算两天后的日期
now = datetime.now()
two_days_later = now + timedelta(days=2)
print(two_days_later)

# 计算两个日期之间的差值
dt1 = datetime(2024, 10, 1)
dt2 = datetime(2024, 10, 10)
delta = dt2 - dt1
print(delta.days)

2.4 日期和时间的格式化与解析

strftime() 方法用于将 datetime 对象格式化为字符串,strptime() 方法用于将字符串解析为 datetime 对象。
from datetime import datetime

# 格式化日期
dt = datetime.now()
formatted = dt.strftime("%Y/%m/%d")
print(formatted)

# 解析日期字符串
date_str = "2024-10-01"
dt = datetime.strptime(date_str, "%Y-%m-%d")
print(dt)

3. calendar 模块

calendar 模块主要用于处理日历相关的操作,例如生成月历、年历等。

3.1 生成月历

import calendar

# 生成 2024 年 10 月的月历
cal = calendar.month(2024, 10)
print(cal)

3.2 生成年历

import calendar

# 生成 2024 年的年历
cal = calendar.calendar(2024)
print(cal)

3.3 判断是否为闰年

import calendar

is_leap = calendar.isleap(2024)
print(is_leap)

4. 时区处理


在处理日期和时间时,时区也是一个重要的因素。Python 的 pytz 库可以帮助我们处理时区相关的问题。

4.1 安装 pytz 库

pip install pytz

4.2 时区转换

from datetime import datetime
import pytz

# 创建一个本地时间对象
local_time = datetime.now()

# 获取特定时区对象
utc = pytz.UTC
shanghai = pytz.timezone('Asia/Shanghai')

# 将本地时间转换为 UTC 时间
utc_time = utc.localize(local_time)

# 将 UTC 时间转换为上海时间
shanghai_time = utc_time.astimezone(shanghai)
print(shanghai_time)

通过以上介绍,你可以全面了解 Python 中日期和时间的处理方法,根据实际需求灵活运用这些模块和方法。

posted on   数据与人文  阅读(54)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2023-03-03 MySQL Delete 表数据后,磁盘空间并未释放,为什么?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示