python之arrow时间处理模块
首先安装
pip install arrow
直接创建arrow对象
print(arrow.get(2019, 1, 23)) # 2019-01-23T00:00:00+00:00
print(arrow.Arrow(2018, 2, 24)) # 2018-02-24T00:00:00+00:00
arrow对象属性 datetime,timestamp,native,tzinfo
a = arrow.utcnow() # 获取当前时间
print(arrow.now()) # 获取当前时间 2019-01-23T10:51:10.047906+08:00
b = a.datetime
c = a.timestamp
d = a.naive
print(a) # 2019-01-23T02:50:42.887795+00:00
print("datetime", b) # datetime 2019-01-23 03:10:34.940650+00:00
print("timestamp", c) # timestamp 1548213034
print("a.naive", d) # a.naive 2019-01-23 03:11:29.784884
获取datetime对象的值
hour = a.hour
day = a.day
print(f"hour:{hour},day:{day}") # hour:3,day:23
时间推移 a.shift(**kwargs), shift方法获取某个时间之前或之后的时间,关键字参数为years,months,weeks,days,hours,seconds,microseconds
print("shift", a.shift(weeks=+3)) # shift 2019-02-13T03:25:29.686405+00:00
时间替换 a.replace(**kwargs) ,返回一个被替换后的arrow对象,原对象不变
print("replace", a.replace(hour=10)) # replace 2019-01-23T10:27:05.175130+00:00
格式化输出 a.format([format_string])
print("format", a.format()) # format 2019-01-23 03:28:14+00:00
print("format", a.format('YYYY-MM-DD HH:mm:ss ZZ')) # format 2019-01-23 03:29:05 +00:00
将时间戳转化为arrow对象 arrow.get(timestamp) 时间戳可以是int,float或者可以转化为float的字符串
print(arrow.get(1548211919.1432989)) # 2019-01-23T02:51:59.143299+00:00
时间范围和区间 a.span(string), a.floor(), a.ceil()
print("a所在的时间", a)
print("a所在的时间区间", a.span("hour"))
print("a所在区间的开始", a.floor("hour"))
print("a所在区间的结尾", a.ceil("hour"))
"""
一个小时的时间区间:
a所在的时间 2019-01-23T03:39:08.401566+00:00
a所在的时间区间 (<Arrow [2019-01-23T03:00:00+00:00]>, <Arrow [2019-01-23T03:59:59.999999+00:00]>)
a所在区间的开始 2019-01-23T03:00:00+00:00
a所在区间的结尾 2019-01-23T03:59:59.999999+00:00
"""
arrow.Arrow.range 与arrow.Arrow.span_rang
import datetime start = datetime.datetime(2018, 2, 24, 12, 30)
end = datetime.datetime(2018, 2, 24, 15, 20)
for r in arrow.Arrow.span_range('hour', start, end): # 获取start,end之间的时间区间
print(r)
for r in arrow.Arrow.range('hour', start, end): # 获取间隔单位时间的时间
print(r) """
(<Arrow [2018-02-24T12:00:00+00:00]>, <Arrow [2018-02-24T12:59:59.999999+00:00]>)
(<Arrow [2018-02-24T13:00:00+00:00]>, <Arrow [2018-02-24T13:59:59.999999+00:00]>)
(<Arrow [2018-02-24T14:00:00+00:00]>, <Arrow [2018-02-24T14:59:59.999999+00:00]>)
(<Arrow [2018-02-24T15:00:00+00:00]>, <Arrow [2018-02-24T15:59:59.999999+00:00]>)
2018-02-24T12:30:00+00:00
2018-02-24T13:30:00+00:00
2018-02-24T14:30:00+00:00
"""
参考文档:
# 官方文档 https://arrow.readthedocs.io/en/latest/ # 参考博文: https://blog.csdn.net/dagu131/article/details/79365301
python之arrow时间处理模块的更多相关文章
- [ Python入门教程 ] Python中日期时间datetime模块使用实例
Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间.时间计算.日志时间显示等功能.datatime模块重新封装了time模块,提供的类包括date.time.da ...
- Python中的时间日期模块(time、datetime)
目录 Datetime 获取当前时间 获取当前日期 获取当前时间的tuple元组 格式化日期和时间 时间移动 获取两个时间的时间差 时间格式转换 Time 获取距元年(1970.1.1)的秒数 当时时 ...
- python、js 时间日期模块time
python 参考链接:https://www.runoob.com/python/python-date-time.html 时间戳 >>> print(time.time())# ...
- python模块:时间处理模块
http://blog.csdn.net/pipisorry/article/details/53067168 常用python自带时间处理模块 python自带的时间处理模块参考[操作系统服务:ti ...
- 【310】◀▶ Python 日期和时间
参考: python 时间日期计算 Python 日期和时间(菜鸟教程) 8.1. datetime — Basic date and time types python中datetime模块中dat ...
- 【转】Python之日期与时间处理模块(date和datetime)
[转]Python之日期与时间处理模块(date和datetime) 本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常 ...
- Python 日期时间处理模块学习笔记
来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...
- Python时间time模块介绍
一.明确时间元组 二.测试代码#!/usr/bin/env python # -- coding: utf-8 --' """ 时间模块,time的相关操作与测试 &qu ...
- Python 中的时间处理包datetime和arrow
Python 中的时间处理包datetime和arrow 在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年.月.日等 # 方法一: today = datetime.date.today ...
随机推荐
- c#各类DI容器
IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理. DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现. ...
- 小程序中为什么使用var that=this
前言: 在小程序或者js开发中,经常需要使用var that = this;开始我以为是无用功,(原谅我的无知),后来从面向对象的角度一想就明白了,下面简单解释一下我自己的理解,欢迎指正批评. 代码示 ...
- CentOS 7.3 环境配置java和tomcat开机启动
Centos7下添加开机自启动服务和脚本 https://blog.csdn.net/GMingZhou/article/details/78677953 安装部分参考我的博文,仅参考他的开机启动部 ...
- python模块打补丁
先自定义两个模块,然后,我们调用模块时,用打补丁方式,改写mod_1.py模块.为mod_2.py内容:其实这就相当于,在不改动mod_1.py模块的前提下,打上补丁. 写这个主要是gevent协程的 ...
- HDU-5072 补集转化+容斥原理
题意:给n个数,求满足一下条件的三元组(a,b,c)数量:a,b,c两两互质或者a,b,c两两不互质. 解法:这道题非常巧妙地运用补集转化和容斥原理.首先我们令这n个数为n个点,然后两两之间连边如果是 ...
- Tornado框架的简单使用
一.Tornado Web应用程序的结构 import tornado.web class LoginHandler(tornado.web.RequestHandler): def get(self ...
- tp框架数据查询,增删改
select()是数据模型的一个指定方法,可以获得数据表的数据信息 返回一个二维数组信息,当前数据表的全部数据信息 $obj = D(); 创建对象 $obj -> select(); 查询 ...
- Yii2邮件发送
1.在配置文件main-local.php components=>[]里面配置 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', ...
- 「NOI2017」游戏 解题报告
「NOI2017」游戏 \(d\)这么小,你考虑直接对\(d\)个东西暴力 枚举\(x\)为\(a\)或\(b\)(\(c\)就不用了,因为\(a,b\)已经包含\(c\))了,剩下的就是个\(2-s ...
- mysql负载高分析
table_open_cache SHOW STATUS LIKE 'Open%tables'; SHOW global variables LIKE '%table%'; # 如果你发现 op ...