python库-Arrow处理时间
Arrow是一个处理时间的python库,能一键转换dates/times/timestamps等时间格式而不需要大量导致各种时间模块和格式转换函数,十分快捷方便
使用Arrow需要两步转换操作:
1、接收各种类型的时间datetimes/date/timestamp转换为Arrow类型
2、转换为自己需要的格式或者操作
import arrow # 获取当前时间的Arrow格式
a = arrow.now()
print(a) # 2018-03-08T23:21:21.981044+08:00 # 转换为时间戳
print(a.timestamp) # # 年月日
print(a.format('MM/DD/YYYY HH:mm:ss'))
# 03/08/2018 23:22:43 # 星期
print(a.format('MMMM DD dd'))
# March 08 # 时间戳转换为日期
timeStamp = 1730522598
b = arrow.get(timeStamp)
print(b)
# 2024-11-02T04:43:18+00:00 # 字符串转时间戳
c = '2009-01-01 23:00:00'
d = arrow.get(c)
print(d.timestamp)
# # 90年后的日期
print(d.shift(years=90).format('YYYY/MM/DD HH:mm:ss'))
# 2099/01/01 23:00:00 # 修改日期
print(d.replace(year=1992,month=2,days=18).format('YYYY-MM-DD HH:mm:ss'))
# 1992-02-19 23:00:00
方法:
根据数据创建时间
arrow.Arrow(year, month, day, hour=0, minute=0, second=0, microsecond=0,tzinfo=None)
m = arrow.Arrow(2008,5,6 )
print(m)
# 2008-05-06T00:00:00+00:00
get(*args, **kwargs)#接受各种时间并转换为arrow格式
print(arrow.get('2009-09-01T01:34:43'))
# 2009-09-01T01:34:43+00:00
print(arrow.get(datetime(2007,5,12)))
# 2007-05-12T00:00:00+00:00
print(arrow.get(2013,5,5,12,30,45))
# 2013-05-05T12:30:45+00:00
print(arrow.get(date(2013, 5, 5)))
# 2013-05-05T00:00:00+00:00
range(frame, start, end=None, tz=None, limit=None) 创建时间范围
start1 = datetime(2018,5,5,12,30)
end1 = datetime(2018,5,5,17,15)
for i in arrow.Arrow.range('hour', start1,end1):
print(repr(i))
# <Arrow [2018-05-05T12:30:00+00:00]>
# <Arrow [2018-05-05T13:30:00+00:00]>
# <Arrow [2018-05-05T14:30:00+00:00]>
# <Arrow [2018-05-05T15:30:00+00:00]>
# <Arrow [2018-05-05T16:30:00+00:00]>
修改时间
replace(**kwargs) 替换某个时间区域
atim = arrow.utcnow()
print(atim)
# 2018-03-08T15:42:30.435938+00:00
print(atim.replace(year=2012,month=6))
# 2012-06-08T15:42:30.435938+00:00
shift(**kwargs) 移动时间
print(atim.shift(years=10,months=-2))
# 2028-01-08T15:43:57.632305+00:00
格式化参数
Year YYYY 2000, 2001, 2002 ... 2012, 2013
YY 00, 01, 02 ... 12, 13
Month MMMM January, February, March ... [1]
MMM Jan, Feb, Mar ... [1]
MM 01, 02, 03 ... 11, 12
M 1, 2, 3 ... 11, 12
Day of Year DDDD 001, 002, 003 ... 364, 365
DDD 1, 2, 3 ... 4, 5
Day of Month DD 01, 02, 03 ... 30, 31
D 1, 2, 3 ... 30, 31
Do 1st, 2nd, 3rd ... 30th, 31st
Day of Week dddd Monday, Tuesday, Wednesday ... [2]
ddd Mon, Tue, Wed ... [2]
d 1, 2, 3 ... 6, 7
Hour HH 00, 01, 02 ... 23, 24
H 0, 1, 2 ... 23, 24
hh 01, 02, 03 ... 11, 12
h 1, 2, 3 ... 11, 12
AM / PM A AM, PM, am, pm [1]
a am, pm [1]
Minute mm 00, 01, 02 ... 58, 59
m 0, 1, 2 ... 58, 59
Second ss 00, 01, 02 ... 58, 59
s 0, 1, 2 ... 58, 59
Sub-second S... 0, 02, 003, 000006, 123123123123... [3]
Timezone ZZZ Asia/Baku, Europe/Warsaw, GMT ... [4]
ZZ -07:00, -06:00 ... +06:00, +07:00
Z -0700, -0600 ... +0600, +0700
Timestamp X 1381685817
python库-Arrow处理时间的更多相关文章
- 10个用于处理日期和时间的 Python 库
Python本身提供了处理时间日期的功能,也就是datetime标准库.除此之外,还有很多优秀的第三方库可以用来转换日期格式,格式化,时区转化等等.今天就给大家分享10个这样的Python库. 上期入 ...
- Python库资源大全
转载地址:https://zhuanlan.zhihu.com/p/27350980 本文是一个精心设计的Python框架.库.软件和资源列表,是一个Awesome XXX系列的资源整理,由BigQu ...
- Python库,让你相见恨晚的第三方库
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...
- Python资源 --Python库
环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环境的工 ...
- python 库资源大全
偶然的机会翻到这篇文章,很全面,来源: Python 资源大全中文版 哪些 Python 库让你相见恨晚? 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 pyth ...
- 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库
我是 环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环 ...
- python库包大全(转)
python 库资源大全 转自: Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python ...
- Python库资源大全【收藏】
本文是一个精心设计的Python框架.库.软件和资源列表,是一个Awesome XXX系列的资源整理,由BigQuant整理加工而成,欢迎扩散.欢迎补充! 对机器学习.深度学习在量化投资中应用感兴趣的 ...
- Python 库大全
作者:Lingfeng Ai链接:http://www.zhihu.com/question/24590883/answer/92420471来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...
随机推荐
- io.undertow.websockets.jsr.ServerWebSocketContainer cannot be cast to org.apache.tomcat.websocket.server.WsServerContainer
Caused by: java.lang.ClassCastException: io.undertow.websockets.jsr.ServerWebSocketContainer cannot ...
- js中的forEach/map方法
// forEach方法 var data = [{ name: "程咬金", sex: "1", age: 26 }, { name: "程才&qu ...
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- 解决libVLC无法响应鼠标消息
参考: https://blog.jianchihu.net/player-based-on-libvlc.html 自己在Qt上的实现: 头文件 libvlc_instance_t * m_inst ...
- js 快速生成数组的方法
//实现方法一:循环赋值var arr1 = new Array(100);for(var i=0;i<arr1.length;i++){ arr1[i] = i;}console.log(ar ...
- Unity中使用百度中文语音识别功能
下面是API类 Asr.cs using System; using System.Collections; using System.Collections.Generic; using Unity ...
- 在form表单里上传图片
需要上传多个图片分别上传,本来提供的工具类里上传一张可以form表单对象实现 后台用MultipartFile file var formdata = new FormData($("#in ...
- LeetCode算法历程-02
编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 × 3 示例 2: 输入: 8 输出: true ...
- 使用Spark进行搜狗日志分析实例——统计每个小时的搜索量
package sogolog import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- code-Behind 技术
就是代码隐藏,在ASP.NET 中通过ASPX 页面指向CS 文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web 应用程序的创建.比如分工,美工和编程的可以个干各的,不用再像以前asp 那样都代 ...