首先,让我们通过pip来安装Pendulum:
# 在命令行中输入pip install pendulum
创建日期时间使用Pendulum创建日期时间非常直观,来看看基本用法:
import pendulum# 获取当前时间now = pendulum.now()print(f"当前时间:{now}")# 创建特定的日期时间dt = pendulum.datetime(2024, 1, 1, 12, 30)print(f"指定时间:{dt}")# 解析时间字符串parsed = pendulum.parse('2024-01-01 12:30:00')print(f"解析的时间:{parsed}")
小贴士:Pendulum默认使用UTC时区,但我们可以轻松指定本地时区!
时区处理时区处理是Pendulum的强项之一:
import pendulum# 创建北京时间beijing = pendulum.now('Asia/Shanghai')print(f"北京时间:{beijing}")# 创建纽约时间new_york = pendulum.now('America/New_York')print(f"纽约时间:{new_york}")# 时区转换beijing_in_ny = beijing.in_timezone('America/New_York')print(f"北京时间转换为纽约时间:{beijing_in_ny}")
人性化的时间操作Pendulum提供了很多直观的时间计算方法:
import pendulumdt = pendulum.now()# 日期加减tomorrow = dt.add(days=1)next_week = dt.add(weeks=1)last_month = dt.subtract(months=1)print(f"明天:{tomorrow}")print(f"下周:{next_week}")print(f"上月:{last_month}")# 链式操作future = dt.add(years=1).subtract(months=2).add(days=3)print(f"复杂日期计算:{future}")
时间差计算计算时间差也变得超简单:
import pendulumstart = pendulum.datetime(2024, 1, 1)end = pendulum.datetime(2024, 12, 31)# 计算时间差diff = end.diff(start)print(f"相差天数:{diff.in_days()}天")print(f"相差月数:{diff.in_months()}月")print(f"相差小时:{diff.in_hours()}小时")# 人性化显示print(f"人性化显示:{end.diff_for_humans(start)}")
日期区间和周期处理日期区间和周期性时间:
import pendulum# 创建时间周期period = pendulum.period(pendulum.now(), pendulum.now().add(days=7))# 遍历每一天for dt in period.range('days'): print(f"日期:{dt.format('YYYY-MM-DD')}")# 创建循环周期recurrence = pendulum.recurrence(pendulum.now().start_of('day'), pendulum.now().add(months=1), duration=pendulum.duration(days=2))print("\n每隔两天的日期:")for dt in recurrence: print(dt.format('YYYY-MM-DD'))
格式化输出Pendulum提供了丰富的格式化选项:
import pendulumdt = pendulum.now()# 不同的格式化方式print(f"默认格式:{dt}")print(f"日期格式:{dt.format('YYYY-MM-DD')}")print(f"带时间格式:{dt.format('YYYY-MM-DD HH:mm:ss')}")print(f"本地化格式:{dt.format('dddd D MMMM YYYY')}")# 使用to_*方法print(f"日期字符串:{dt.to_date_string()}")print(f"时间字符串:{dt.to_time_string()}")print(f"日期时间字符串:{dt.to_datetime_string()}")
小贴士:
Pendulum的时间都是不可变的,每次操作都会返回新的对象格式化字符串中的占位符是区分大小写的支持多种语言的本地化显示编程小练习:
计算你的出生日期到现在一共过了多少天创建一个未来30天的日程表实现一个简单的倒计时功能今天的Python学习之旅就到这里啦!记得动手敲代码。祝大家学习愉快,Python学习节节高!