python 包之 arrow 日期时间教程

一、安装

  • Arrow提供了一个合理的、人性化的方法来创建、操作、格式转换的日期,时间,和时间戳

  • 帮助我们使用较少的导入和更少的代码来处理日期和时间

pip install arrow

 

二、获取当前时间

  • 该方法获得的只是时间对象,对象中存在各种各样的属性供使用

import arrow

# 获取世界标准时间
arrow.utcnow()
# 获取本地时间
arrow.now()
# 获取指定时区的时间
rrow.now('US/Pacific')

 

三、时间属性

import arrow

a = arrow.now()

# 当前年
a.year
# 当前月份
a.month
# 当前天
a.day
# 当前第几个小时
a.hour
# 当前多少分钟
a.minute
# 当前多少秒
a.second
# 获取时间戳
a.timestamp
# 浮点数时间戳
a.float_timestamp
# 转换为时区
a.to('US/Pacific')

 

四、时间推移

  • shift方法获取某个时间之前或之后的时间对象

  • 关键字参数有years、months、weeks、days、hours、seconds、microseconds

import arrow

a = arrow.now()

# 三周后
a.shift(weeks=+3)
# 一天前
a.shift(days=-1)
# 距离最近a的星期日,weekday从0到6
a.shift(weekday=6)

 

五、时间替换

  • 返回一个被替换后的arrow对象,原对象不变

import arrow

a = arrow.now()
# 时间换成9点
a.replace(hour=9)

 

六、格式化输出

import arrow

a = arrow.now()

# 默认格式
a.format()
# 自定义时间格式
a.format('YYYY-MM-DD HH:mm:ss ZZ')
# 返回日期和时间的ctime格式化表示
a.ctime()
# 以整数形式返回星期几(0-6)
a.weekday()
# 以整数形式返回一周中的ISO日(1-7)
a.isoweekday()
# 返回3元组(ISO年,ISO周数,ISO工作日)
a.isocalendar()
# 返回日期的格雷戈里序数
a.toordinal()

 

七、人性化输出

import arrow

present = arrow.utcnow()
past = present.shift(hours=-1)

# 人性化输出一小时前,默认英文
past.humanize()

# 人性化输出二小时后,默认英文
future = present.shift(hours=2)
future.humanize(present) 

# 自定义地区语言
past.humanize(present, locale='zh')

 

八、时间范围和区间

import arrow

a = arrow.now()

# a所在的时间区间
a.span('hour')
# a所在区间的开始 
a.floor('hour')
# a所在区间的结尾
a.ceil('hour')

 

九、arrow对象

import arrow

# 将时间戳转化为arrow对象、可以是整型时间戳、字符串时间戳、浮点时间戳
arrow.get(时间戳)
# 将字符串转换为arrow对象
arrow.get('2022-04-04 18:30:45', 'YYYY-MM-DD HH:mm:ss')
# 遵循ISO-8601的字符串不需要格式字符串参数即可转换
arrow.get('2022-04-04T13:00:00.000-07:00')
# 可以从字符串中通过格式参数搜索时间
arrow.get('June was born in May 1980', 'MMMM YYYY')
# 直接创建arrow对象
arrow.get(2022, 4, 4)
arrow.Arrow(2022, 4, 4)

 

posted @ 2022-04-07 21:20  sunnyeden  阅读(607)  评论(0编辑  收藏  举报