python时间模块哪个好arrow模块_Arrow让Python时间处理更美好

What and Why?

Arrow是一个用于时间处理的python库。它能够一键转化dates、times、timestamps等多种时间格式,而不需要大量import各种时间模块和格式转化函数。十分便捷和人性化,能够极大程度简化你的代码。

详细参数请查询官方说明

How?

原生时间操作需要对time\datetime\date等多种格式进行转化再操作。

使用Arrow仅需两步,第一步接受各种类型时间类型(datetime,date,timestamps)转化为Arrow类型,第二步转化成自己需要的格式或进行操作。

import arrow

#获取当前时间的Arrow格式,2018年1月19日

i=arrow.now()

i

#转化时间戳

i.timestamp

1516284969

#年月日

i.format('YYYY-MM-DD HH:mm:ss')

'2018-01-19 18:56:32'

#星期

i.format('MMM DD dddd ')

'Jan 19 Friday '

#时间戳转化为日期

timeStamp = 1516284232.9397206

i = arrow.get(timeStamp)

i.format('YYYY-MM-DD HH:mm:ss')

#字符串转时间戳

a = "2013-10-10 23:40:00"

i = arrow.get(a)

i.timestamp

#66天后日期

i.shift(days=66).format('YYYY-MM-DD HH:mm:ss')

'2018-03-26 18:56:32'

#修改日期,梦回2008

i.replace(year=2008,month=8,days=8).format('YYYY-MM-DD HH:mm:ss')

'2008-08-08 18:56:32'

Method

根据数据创建时间arrow.Arrow(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

arrow.Arrow(2013, 5, 5, 12, 30, 45)

fromtimestamp(timestamp, tzinfo=None)从时间戳转换

fromdatetime(dt, tzinfo=None)#从datetime格式转化

strptime(date_str, fmt, tzinfo=None) 从strptime转换

get(*args, **kwargs)#接受各种时间并转换为arrow格式

arrow.get('2013-09-29T01:26:43.830580')

arrow.get(datetime(2013, 5, 5))

arrow.get(date(2013, 5, 5))

arrow.get(2013, 5, 5, 12, 30, 45)

range(frame, start, end=None, tz=None, limit=None) 创建时间范围

start = datetime(2013, 5, 5, 12, 30)

>>> end = datetime(2013, 5, 5, 17, 15)

>>> for r in arrow.Arrow.range('hour', start, end):

... print(repr(r))

...

修改时间replace(**kwargs) 替换某个时间区域

arw = arrow.utcnow()

>>> arw

>>> arw.replace(year=2014, month=6)

shift(**kwargs) 移动时间

arw = arrow.utcnow()

>>> arw

>>> arw.shift(years=1, months=-1)

格式化参数

YearYYYY2000, 2001, 2002 ... 2012, 2013

YY00, 01, 02 ... 12, 13

MonthMMMMJanuary, February, March ... [1]

MMMJan, Feb, Mar ... [1]

MM01, 02, 03 ... 11, 12

M1, 2, 3 ... 11, 12

Day of YearDDDD001, 002, 003 ... 364, 365

DDD1, 2, 3 ... 4, 5

Day of MonthDD01, 02, 03 ... 30, 31

D1, 2, 3 ... 30, 31

Do1st, 2nd, 3rd ... 30th, 31st

Day of WeekddddMonday, Tuesday, Wednesday ... [2]

dddMon, Tue, Wed ... [2]

d1, 2, 3 ... 6, 7

HourHH00, 01, 02 ... 23, 24

H0, 1, 2 ... 23, 24

hh01, 02, 03 ... 11, 12

h1, 2, 3 ... 11, 12

AM / PMAAM, PM, am, pm [1]

aam, pm [1]

Minutemm00, 01, 02 ... 58, 59

m0, 1, 2 ... 58, 59

Secondss00, 01, 02 ... 58, 59

s0, 1, 2 ... 58, 59

Sub-secondS...0, 02, 003, 000006, 123123123123... [3]

TimezoneZZZAsia/Baku, Europe/Warsaw, GMT ... [4]

ZZ-07:00, -06:00 ... +06:00, +07:00

Z-0700, -0600 ... +0600, +0700

TimestampX1381685817

更多关于python数据分析与挖掘内容请关注我的专栏:数与码

或者关注我的知乎账号:知行

欢迎交流讨论和点赞~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值