Python 3 介绍(二十六)--Python3 日期和时间

目录

1. datetime 模块

1.1 获取当前日期和时间

1.2 日期和时间的构造

1.3 日期时间的格式化

1.4 解析日期时间字符串

1.5 计算日期时间差

2. time 模块

2.1 获取时间戳

2.2 时间延时

2.3 时间格式化

3. 其他相关模块

3.1 calendar 模块

3.2 zoneinfo 模块

4. 实战应用示例

4.1 获取某个月的日历

4.2 计算两个日期之间的工作日数量

总结


 

在 Python 中处理日期和时间是非常常见的需求,无论是用于数据分析、日志记录、定时任务还是其他用途。Python 3 提供了多个模块来帮助开发者处理日期和时间,其中最常用的是 datetimetime 模块。

1. datetime 模块

datetime 模块提供了用于处理日期和时间的类,主要包括 datetime, date, time, timedelta 等。

1.1 获取当前日期和时间

 

python

深色版本

1from datetime import datetime
2
3# 获取当前日期和时间
4now = datetime.now()
5print(now)

1.2 日期和时间的构造

 

python

深色版本

1from datetime import datetime, date, time
2
3# 构造日期
4d = date(2021, 12, 25)
5print(d)
6
7# 构造时间
8t = time(12, 30, 45)
9print(t)
10
11# 构造日期时间
12dt = datetime(2021, 12, 25, 12, 30, 45)
13print(dt)

1.3 日期时间的格式化

 

python

深色版本

1from datetime import datetime
2
3# 当前日期时间
4now = datetime.now()
5
6# 格式化日期时间
7formatted = now.strftime('%Y-%m-%d %H:%M:%S')
8print(formatted)

1.4 解析日期时间字符串

 

python

深色版本

1from datetime import datetime
2
3# 解析日期时间字符串
4dt_str = '2021-12-25 12:30:45'
5dt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')
6print(dt)

1.5 计算日期时间差

 

python

深色版本

1from datetime import datetime, timedelta
2
3# 当前日期时间
4now = datetime.now()
5
6# 一周后的日期时间
7future = now + timedelta(days=7)
8print(future)
9
10# 计算两个日期时间之间的差
11delta = future - now
12print(delta)

2. time 模块

time 模块提供了与时间相关的函数,特别是用于计时、延迟和转换时间格式等功能。

2.1 获取时间戳

 

python

深色版本

1import time
2
3# 获取当前时间戳
4timestamp = time.time()
5print(timestamp)

2.2 时间延时

 

python

深色版本

1import time
2
3# 输出当前时间
4print(time.ctime())
5
6# 延迟3秒
7time.sleep(3)
8
9# 再次输出当前时间
10print(time.ctime())

2.3 时间格式化

 

python

深色版本

1import time
2
3# 获取时间元组
4localtime = time.localtime()
5print(localtime)
6
7# 格式化时间
8formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', localtime)
9print(formatted_time)

3. 其他相关模块

3.1 calendar 模块

calendar 模块提供了处理日历的函数。

 

python

深色版本

1import calendar
2
3# 输出本月的日历
4print(calendar.month(2021, 12))

3.2 zoneinfo 模块

Python 3.9 及以后版本引入了 zoneinfo 模块来处理时区问题。对于较旧的版本,可以使用 pytz 库。

 

python

深色版本

1from datetime import datetime
2import zoneinfo
3
4# 设置时区
5tz = zoneinfo.ZoneInfo('America/New_York')
6
7# 获取当前日期时间
8now = datetime.now(tz)
9print(now)

4. 实战应用示例

4.1 获取某个月的日历

 

python

深色版本

1import calendar
2
3# 获取2021年12月的日历
4cal = calendar.monthcalendar(2021, 12)
5print(cal)

4.2 计算两个日期之间的工作日数量

 

python

深色版本

1from datetime import datetime, timedelta
2import calendar
3
4start_date = datetime(2021, 12, 1)
5end_date = datetime(2021, 12, 31)
6
7workdays = 0
8delta = end_date - start_date
9for i in range(delta.days + 1):
10    day = start_date + timedelta(days=i)
11    if calendar.weekday(day.year, day.month, day.day) < 5:  # Monday to Friday
12        workdays += 1
13
14print(workdays)

总结

Python 提供了丰富的模块来处理日期和时间,包括 datetime, time, calendar 等。通过上述示例,你应该能够掌握如何使用这些模块来处理日期和时间,包括获取当前日期时间、格式化日期时间、计算日期时间差、处理时区等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值