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 ...
随机推荐
- springCloud的使用05-----路由网关(zuul)
zuul的主要功能是路由转发和过滤,比如让所有/api-a/*的请求都转发到服务器a上,所有/api-b/*的请求都转发到服务器b上,zuul默认和ribbon结合实现了负载均衡的功能. 1 zuul ...
- Nacos-服务注册地址为内网IP的解决办法
最近在使用Spring Cloud Alibaba这一套微服务解决方案,但是在服务注册的时候,网关死活找不到微服务地址,自己的微服务通过网关怎么也访问不到. 查找原因 仔细一查才发现,网关去访问了一个 ...
- terminal Failed to fork(connot allocate memory)问题处理
今天遇到服务器无法SSH,VNC操作命令提示fork:cannot allocate memory free查看内存还有(注意,命令可能要多敲几次才会出来) 查看最大进程数 sysctl kernel ...
- 关于GeneXus封装方法Model的方法
最近 刚从外地出差回来 工作任务不是很重 能够抽点时间记点东西 下午花了2个多钟头尝试了一下GeneXus的封装方法的功能,这里记一下便于自己以后查看.我们在许多项目中或多或少都会有着重复代码编写的 ...
- 作业(二)—python实现wc命令
Gitee地址:https://gitee.com/c1e4r/word-count(为什么老师不让我们用github) 0x00 前言 好久没发博客了,感觉自己的学习是有点偷懒了.这篇博客也是应专业 ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019 I J
I. query 题意:给出n的一个排列,有m个询问[l,r],询问[l,r]直接有倍数关系的pair个数. 解法:比赛完之后听说是原题,但是我没做过呀,做题太少了qwq.首先因为数字是1-n的,所以 ...
- c++ vector push_back对象的时候存起来的是拷贝[转]
比如 class C1; vector<C1> vec; C1* p=new C1; vec v1; v1.push_back(&(*p)); delete p; 这里,传进函数的 ...
- v-if-else 条件判断 是否插入元素指令
<div id="app05"> <p v-if="OK">True的时候显示,否则不显示</p> <template ...
- windows系统下tomcat启动startup.bat一闪而过
遇到运行startup.bat后,一个窗口一闪而过的问题 tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tom ...
- jmeter之-非GUI模式&登录实战
1.执行测试脚本 jmeter -n -t JMeter分布式测试示例.jmx 2.指定结果文件及日志路径 jmeter -n -t JMeter分布式测试示例.jmx -l report\01-re ...