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(yearmonthdayhour=0minute=0second=0microsecond=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(framestartend=Nonetz=Nonelimit=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处理时间的更多相关文章

  1. 10个用于处理日期和时间的 Python 库

    Python本身提供了处理时间日期的功能,也就是datetime标准库.除此之外,还有很多优秀的第三方库可以用来转换日期格式,格式化,时区转化等等.今天就给大家分享10个这样的Python库. 上期入 ...

  2. Python库资源大全

    转载地址:https://zhuanlan.zhihu.com/p/27350980 本文是一个精心设计的Python框架.库.软件和资源列表,是一个Awesome XXX系列的资源整理,由BigQu ...

  3. Python库,让你相见恨晚的第三方库

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...

  4. Python资源 --Python库

    环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环境的工 ...

  5. python 库资源大全

    偶然的机会翻到这篇文章,很全面,来源:  Python 资源大全中文版       哪些 Python 库让你相见恨晚? 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 pyth ...

  6. 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库

    我是 环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环 ...

  7. python库包大全(转)

    python 库资源大全 转自: Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python ...

  8. Python库资源大全【收藏】

    本文是一个精心设计的Python框架.库.软件和资源列表,是一个Awesome XXX系列的资源整理,由BigQuant整理加工而成,欢迎扩散.欢迎补充! 对机器学习.深度学习在量化投资中应用感兴趣的 ...

  9. Python 库大全

    作者:Lingfeng Ai链接:http://www.zhihu.com/question/24590883/answer/92420471来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...

随机推荐

  1. 微信小程序 wx.request

    onLoad: function () { var that = this console.log('https://free-api.heweather.com/s6/weather?locatio ...

  2. java Comparable and Comparator

    1.Comparable简介 此接口对实现它的每个类的对象强加一个总排序.这种排序被称为类的自然排序,类的compareTo方法被称为其自然比较方法.可以通过 Collections.sort(和Ar ...

  3. vbs中对excel的常用操作

    使用QTP自动化测试中,用到对excel的读写操作,这里把一些常用对excel操作的方法进行了归纳,总结.(对excel格式设置的常用操作这里没有进行总结.) Function DataToExcel ...

  4. Docker 容器技术

    前言: 之前感觉Docker是一种小虚拟机,docker和KVM虚拟机之间有什么区别.联系.可以应用在什么样的生产环境? 一.Docker是什么以及和KVM的区别 1.docker概念? Docker ...

  5. Elixir东游记/上:intro/1

    1. 为啥前面还在搞haxe,现在又换到elixir了? erlang本来我就在用,用elixir不过是方便顺手给人科普而已. 2. so,接下来你打算用elixir干嘛? 很简单,写一个简单的解释器 ...

  6. 记录这段时间java编程的小知识点

    记录这段时间java编程的小知识点 eclipse项目导入中文乱码 eclipse左侧目录结构变动 eclipse代码段左右移动 按tal键,是整体右移. 按shift  table 同时按,是整体左 ...

  7. Django REST framework--序列化

    Django REST framework--序列化 基础准备工作 创建项目添加应用 (venv) lee@lee:~/PycharmProjects/Djdemo/djdemo$ python ma ...

  8. 使用node.js & live server在移动端测试网站

    1.安装node.js 下载Node.js官网 cmd下确认node已安装 node -v ※进入node环境 2.确认npm已安装(Node.js的包管理工具(package manager)) n ...

  9. GAN的入门级理解(按文章顺序)

    1.https://www.leiphone.com/news/201706/ty7H504cn7l6EVLd.html 我的理解:一开始,G网络利用一组随机噪声生成一堆合成的垃圾照片,交给D网络判断 ...

  10. 有关Java字符集编码的问题

    在Java语言中,下列关于字符集编码(Character set encoding)和国际化(i18n)的问题,哪些是正确的? A.每个中文字符占用2个字节,每个英文字符占用1个字节 B.假设数据库中 ...