长风万里送秋雁,对此可以酣高楼。

本文大纲

总有人问我,应该怎么学习某个知识点?下面的大纲就是很好的证明了。不管学习什么,总结和对比是很有必要的,这就是我们说的逻辑。当你把某个知识点的学习逻辑,搞清楚了,顺着这个线走下去,就不会嫌知识点太多,一下子记不了那么多了。


Arrow更好用的python时间序列处理库,你用过吗?_python

本文写作思路如下:

① 首先我讲述了Arrow与本地时间之间的联系,并且了解了针对Arrow时间,我们还可以进行其它哪些操作。

② 接着我讲述了Arrow与任意指定时间之间的联系,我们知道怎么讲任意一个时间,转换为Arrow时间,只有将任意时间转换为Arrow时间后,才能使用①中讲到的各种方法。

③ 最后我又讲述了Arrow时间如何转换为datetime\date\time时间,当我们将Arrow时间转为datetime\date\time时间后,就可以使用datetime库中的所有属性和方法,是不是很舒服?

关于datetime库的使用,大家可以去我CSDN博客学习,总结的也是相当好。


Arrow更好用的python时间序列处理库,你用过吗?_twitter_02

1. arrow与本地时间相关的用法

1)获取当前的utc时间

utc = arrow.utcnow()
print(utc)

结果如下:

Arrow更好用的python时间序列处理库,你用过吗?_twitter_03

2)获取当前的local时间

local = utc.now()
print(local)
--------------------
local = utc.to("local")
print(local)

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_数据挖掘_04

3)获取local时间的时间戳

local.timestamp

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_nagios_05

4)Arrow时间格式化format()

local.format("YYYY-MM-DD hh:mm:ss ZZ")
--------------------------------------
local.format("YYYY-MM-DD hh:mm:ss")

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_openssh_06

5)Arrow时间/日期的前后移动shift()

print(local.shift(years=1))
print(local.shift(years=-1))
----------------------------
print(local.shift(months=1))
print(local.shift(months=-1))

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_数据挖掘_07

2. arrow与任意时间相关的用法

1)将指定数字转换为Arrow时间

arrow.get(2020, 8, 1, 14, 55, 55)
---------------------------------
arrow.get(2020, 8, 1)

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_twitter_08

2)从字符串中解析数字,得到Arrow时间

arrow.get('2020,08-01 14:58:55','YYYY,MM-DD hh:mm:ss')
------------------------------------------------------
arrow.get("John was born in May 2000","MMMM YYYY")

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_python_09

3)将时间戳解析,得到Arrow时间

arrow.get(1596261535)

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_python_10

3. arrow时间与datetime时间之间的联系

1)将Arrow时间转换为datetime时间

arrow.utcnow().now()
----------------------------------
arrow.utcnow().now().datetime
----------------------------------
arrow.utcnow().to("local").naive

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_python_11

2)将Arrow时间转换为date时间

arrow.utcnow().to("local")
----------------------------------
arrow.utcnow().to("local").date()

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_openssh_12

3)将Arrow时间转换为time时间

arrow.utcnow().to("local")
----------------------------------
arrow.utcnow().to("local").time()

结果如下:


Arrow更好用的python时间序列处理库,你用过吗?_数据挖掘_13

------------------- End -------------------