开发者社区> 程序猿v> 正文

Python:pendulum库处理时间

简介: Python:pendulum库处理时间
+关注继续查看

Python 的 pendulum 库和JavaScript 的Moment.js 库用法很类似


文档

https://pendulum.eustace.io/docs/


安装

pip install pendulum

代码示例

import pendulum

# 1、获取时间
print(pendulum.now())
# 2019-12-12T15:52:35.837803+08:00

print(pendulum.today())
# 2019-12-12T00:00:00+08:00

print(pendulum.tomorrow())
# 2019-12-13T00:00:00+08:00

print(pendulum.yesterday())
# 2019-12-11T00:00:00+08:00


# 2、转字符串
print(pendulum.now().to_datetime_string())
# 2019-12-12 15:51:22

print(pendulum.now().to_date_string())
# 2019-12-12

print(pendulum.now().to_time_string())
# 22:25:05

print(pendulum.now().format('%Y-%m-%d'))
# 2019-12-12


# 3、类型测试
from datetime import datetime
dt =pendulum.datetime(2015, 2, 5)
print(isinstance(dt, datetime))
True


# 4、解析规范的时间
print(pendulum.from_format('2019-12-12', '%Y-%m-%d'))
# 2019-12-12T00:00:00+00:00

print(pendulum.parse('2019-12-12'))
# 2019-12-12T00:00:00+00:00


# 6、属性
now = pendulum.now()
print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
# 2019  12  12  22  22 45


# 7、时间加减
now = pendulum.now()
print(now)
# 2019-12-12T22:27:48.429761+08:00

print(now.add(years=1))
# 2020-12-12T22:27:48.429761+08:00

print(now.subtract(years=1))
# 2018-12-12T22:27:48.429761+08:00

# 时间跨度计算
print(now.diff(now.add(years=1)).in_years())
# 1


# 8、设置语言地区
pendulum.set_locale('zh')

print(pendulum.now().subtract(days=1).diff_for_humans())
# 1天前

print(pendulum.now().subtract(hours=1).diff_for_humans())
# 1小时前

# 9、生成时间序列
period = pendulum.period(pendulum.now(), pendulum.now().add(days=3))

# years, months, weeks, days, hours, minutes and seconds
for dt in period.range('days'):
    print(dt)

"""
2019-12-12T22:39:42.142193+08:00
2019-12-13T22:39:42.142193+08:00
2019-12-14T22:39:42.142193+08:00
2019-12-15T22:39:42.142193+08:00
"""

其他示例

1、获取本周的周一和周日

11.png

import pendulum

now = pendulum.now()
print(now.to_date_string())
# 2021-01-14

print(now.start_of("week").to_date_string())
# 2021-01-11

print(now.end_of("week").to_date_string())
# 2021-01-17


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python 日期和时间
time.time()获取当前时间戳 例如: #!/usr/bin/python # -*- coding: UTF-8 -*- import time; # 引入time模块 ticks = time.
1199 0
时间与日期处理
来源:http://www.cnblogs.com/wayne23/archive/2013/03/25/2981009.html 主要有以下类: NSDate -- 表示一个绝对的时间点NSTimeZone -- 时区信息NSLocale -- 本地化信息NSDateComponent...
899 0
你真的有处理好异常吗
各个应用难免比会遇到异常;如何处理异常,各个业务线都有自己的想法和做法;整理了一下网上的通用办法。抛砖引玉,期待给出更有用的意见,共建没有异常的系统。 只对异常的情况,才使用异常 不要把异常机制用来做【判断条件】【循环】等其他逻辑的辅助,异常只做好异常的事情 程序的真实异常使用RuntimeException,可恢复的异常使用Exception具体子类(),不用动ERROR 1:api应该让使用者面向 可恢复的异常变成,尽量处理所有异常(如TimeoutException重试)需要catch;最好抛出异常时,把恢复方案写出来。
1241 0
linux中与时间处理相关的函数
  最近在查关于Linux下时间编程的问题:        1. Linux下与时间有关的结构体         struct timeval        {              int tv_sec;              int tv_usec;          };          其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second)。
608 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
20890 0
+关注
1566
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载