Arrow模块生成时间
import arrow
def isLeapYear(years):
'''
通过判断闰年,获取年份years下一年的总天数
:param years: 年份,int
:return:days_sum,一年的总天数
'''
# 断言:年份不为整数时,抛出异常。
assert isinstance(years, int), "请输入整数年,如 2018" if ((years % 4 == 0 and years % 100 != 0) or (years % 400 == 0)): # 判断是否是闰年
# print(years, "是闰年")
days_sum = 366
return days_sum
else:
# print(years, '不是闰年')
days_sum = 365
return days_sum def getAllDayPerYear(years):
'''
获取一年的所有日期
:param years:年份
:return:全部日期列表
'''
start_date = '%s-1-1' % years
a = 0
all_date_list = []
days_sum = isLeapYear(int(years))
print()
while a < days_sum:
b = arrow.get(start_date).shift(days=a).format("YYYY-MM-DD")
a += 1
all_date_list.append(b)
# print(all_date_list)
return all_date_list if __name__ == '__main__':
# years = "2001"
# years = int(years)
# # 通过判断闰年,获取一年的总天数
# days_sum = isLeapYear(years) # 获取一年的所有日期
all_date_list = getAllDayPerYear(years)
tzinfo-
获取
tzinfo的的Arrow对象。>>> arw=arrow.utcnow()
>>> arw.tzinfo
tzutc()
datetime-
返回
Arrow对象的日期时间表示形式。>>> arw=arrow.utcnow()
>>> arw.datetime
datetime.datetime(2019, 1, 24, 16, 35, 27, 276649, tzinfo=tzutc())
naive-
返回
Arrow对象的简单日期时间表示。>>> nairobi = arrow.now('Africa/Nairobi')
>>> nairobi
<Arrow [2019-01-23T19:27:12.297999+03:00]>
>>> nairobi.naive
datetime.datetime(2019, 1, 23, 19, 27, 12, 297999)
timestamp-
Arrow以UTC时间形式返回对象的时间戳表示形式。>>> arrow.utcnow().timestamp
1548260567
float_timestamp-
Arrow以UTC时间形式返回对象的浮点表示形式。>>> arrow.utcnow().float_timestamp
1548260516.830896
clone()-
返回
Arrow从当前对象克隆的新对象。>>> arw = arrow.utcnow()
>>> cloned = arw.clone()
replace(**kwargs)-
返回具有
Arrow根据输入更新的属性的新对象。使用属性名称绝对设置其值:
>>> import arrow
>>> arw = arrow.utcnow()
>>> arw
<Arrow [2013-05-11T22:27:34.787885+00:00]>
>>> arw.replace(year=2014, month=6)
<Arrow [2014-06-11T22:27:34.787885+00:00]>您还可以使用时区表达式替换时区而不进行转换 :
>>> arw.replace(tzinfo=tz.tzlocal())
<Arrow [2013-05-11T22:27:34.787885-07:00]>
shift(**kwargs)-
返回具有
Arrow根据输入更新的属性的新对象。使用多个属性名称相对地移动它们的当前值:
>>> import arrow
>>> arw = arrow.utcnow()
>>> arw
<Arrow [2013-05-11T22:27:34.787885+00:00]>
>>> arw.shift(years=1, months=-1)
<Arrow [2014-04-11T22:27:34.787885+00:00]>星期几相对移位可以使用Python的工作日数字(星期一= 0,星期二= 1 ...星期日= 6)或使用dateutil.relativedelta的日期实例(MO,TU ... SU)。使用工作日数字时,返回的日期将始终大于或等于开始日期。
使用上面的代码(这是一个星期六)并要求它转移到星期六:
>>> arw.shift(weekday=5)
<Arrow [2013-05-11T22:27:34.787885+00:00]>在要求周一时:
>>> arw.shift(weekday=0)
<Arrow [2013-05-13T22:27:34.787885+00:00]>
to(tz)-
返回一个
Arrow转换为目标时区的新对象。>>> utc = arrow.utcnow()Usage:
>>> utc
<Arrow [2013-05-09T03:49:12.311072+00:00]> >>> utc.to('US/Pacific')
<Arrow [2013-05-08T20:49:12.311072-07:00]> >>> utc.to(tz.tzlocal())
<Arrow [2013-05-08T20:49:12.311072-07:00]> >>> utc.to('-07:00')
<Arrow [2013-05-08T20:49:12.311072-07:00]> >>> utc.to('local')
<Arrow [2013-05-08T20:49:12.311072-07:00]> >>> utc.to('local').to('utc')
<Arrow [2013-05-09T03:49:12.311072+00:00]>
span(frame, count=1)-
返回两个新
Arrow对象,表示Arrow给定时间范围内对象的时间跨度。支持的帧值:年,季度,月,周,日,小时,分钟,秒。
>>> arrow.utcnow()
<Arrow [2013-05-09T03:32:36.186203+00:00]> >>> arrow.utcnow().span('hour')
(<Arrow [2013-05-09T03:00:00+00:00]>, <Arrow [2013-05-09T03:59:59.999999+00:00]>) >>> arrow.utcnow().span('day')
(<Arrow [2013-05-09T00:00:00+00:00]>, <Arrow [2013-05-09T23:59:59.999999+00:00]>) >>> arrow.utcnow().span('day', count=2)
(<Arrow [2013-05-09T00:00:00+00:00]>, <Arrow [2013-05-10T23:59:59.999999+00:00]>)
floor(frame)-
返回一个新
Arrow对象,表示Arrow给定时间范围内对象的时间跨度的“下限” 。相当于返回的2元组中的第一个元素span。>>> arrow.utcnow().floor('hour')Usage:
<Arrow [2013-05-09T03:00:00+00:00]>
ceil(frame)-
返回一个新
Arrow对象,表示Arrow给定时间范围内对象的时间跨度的“上限” 。相当于返回的2元组中的第二个元素span。>>> arrow.utcnow().ceil('hour')Usage:
<Arrow [2013-05-09T03:59:59.999999+00:00]>
format(fmt='YYYY-MM-DD HH:mm:ssZZ', locale='en_us')-
返回
Arrow对象的字符串表示形式,根据格式字符串进行格式化。>>> arrow.utcnow().format('YYYY-MM-DD HH:mm:ss ZZ')Usage:
'2013-05-09 03:56:47 -00:00' >>> arrow.utcnow().format('X')
'1368071882' >>> arrow.utcnow().format('MMMM DD, YYYY')
'May 09, 2013' >>> arrow.utcnow().format()
'2013-05-09 03:56:47 -00:00'
humanize(other=None, locale='en_us', only_distance=False, granularity='auto')-
返回相对时间差异的本地化人性化表示。
>>> earlier = arrow.utcnow().shift(hours=-2)Usage:
>>> earlier.humanize()
'2 hours ago' >>> later = earlier.shift(hours=4)
>>> later.humanize(earlier)
'in 4 hours'
date()-
返回
date具有相同年,月和日的对象。>>> arrow.utcnow().date()
datetime.date(2019, 1, 23)
time()-
返回
time具有相同小时,分钟,秒,微秒的对象。>>> arrow.utcnow().time()
datetime.time(12, 15, 34, 68352)
timetz()-
返回
time具有相同小时,分钟,秒,微秒和tzinfo的对象。>>> arrow.utcnow().timetz()
datetime.time(12, 5, 18, 298893, tzinfo=tzutc())
astimezone(tz)-
返回一个
datetime转换为指定时区的对象。>>> pacific=arrow.now('US/Pacific')Usage:
>>> nyc=arrow.now('America/New_York').tzinfo
>>> pacific.astimezone(nyc)
datetime.datetime(2019, 1, 20, 10, 24, 22, 328172, tzinfo=tzfile('/usr/share/zoneinfo/America/New_York'))
utcoffset()-
返回
timedelta表示与UTC时间的整数分钟差异的对象。>>> arrow.now('US/Pacific').utcoffset()
datetime.timedelta(-1, 57600)
dst()-
返回夏令时调整。
>>> arrow.utcnow().dst()
datetime.timedelta(0)
timetuple()-
在当前时区中返回time.struct_time>>> arrow.utcnow().timetuple()
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=20, tm_hour=15, tm_min=17, tm_sec=8, tm_wday=6, tm_yday=20, tm_isdst=0)
utctimetuple()-
以UTC时间返回
time.struct_time>>> arrow.utcnow().utctimetuple()
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=21, tm_min=41, tm_sec=7, tm_wday=5, tm_yday=19, tm_isdst=0)
toordinal()-
返回日期的公历格里高利序数。
>>> arrow.utcnow().toordinal()
737078
weekday()-
以整数(0-6)返回星期几。
>>> arrow.utcnow().weekday()
5
isoweekday()-
以整数(1-7)返回一周的ISO日期。
>>> arrow.utcnow().isoweekday()
6
isocalendar()-
返回3元组(ISO年份,ISO周数,ISO工作日)。
>>> arrow.utcnow().isocalendar()
(2019, 3, 6)
isoformat(sep='T')-
返回ISO 8601格式的日期和时间表示。
>>> arrow.utcnow().isoformat()
'2019-01-19T18:30:52.442118+00:00'
ctime()-
返回日期和时间的ctime格式表示。
>>> arrow.utcnow().ctime()
'Sat Jan 19 18:26:50 2019'
strftime(format)-
datetime.strftime的格式。>>> arrow.utcnow().strftime('%d-%m-%Y %H:%M:%S')Usage:
'23-01-2019 12:28:17'
for_json()-
序列
for_json化为simplejson 的协议。>>> arrow.utcnow().for_json()
'2019-01-19T18:25:36.760079+00:00'
Arrow模块生成时间的更多相关文章
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- python-利用faker模块生成测试数据
Python-利用faker模块生成测试数据 1.前言: Faker模块是一个生成伪数据的第三方模块,他提供了一系列方法,使用非常方便,在做自动化测试时,注册信息,用这个模块生成测试数据就体现了它的好 ...
- OrchardNoCMS模块生成工具命令简化
OrchardNoCMS模块生成工具命令行简化列表: 目前只有codegen feature和cultures三个命令. 对应的都进行了参数简化. 例如:codegen module 简化为cod ...
- 把验证码和生成时间负值给$_SESSION[vCode]生成图像给浏览器
php 图片 中文验证码 <img src="verify_image.php" alt="点此刷新验证码" name="verify_code ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension)
跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★ ...
- 【转】Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...
- python模块之时间模块
一.time模块 表示时间的方式分为: 1时间戳(timestamp) 2格式化化的时间字符串(format string) 3结构化时间(struct_time) import time print ...
- Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...
- python常用模块之时间模块
python常用模块之时间模块 python全栈开发时间模块 上次的博客link:http://futuretechx.com/python-collections/ 接着上次的继续学习: 时间模块 ...
随机推荐
- MySQL--CREATE INDEX在各版本的优化
在MySQL 5.5版本中引入FIC(Fast index creation)特性,提升索引的创建速度. FCI 操作流程: (1)对表加共享S锁,允许其他会话读操作,但禁止写操作, (2)扫描Clu ...
- 解决C#中调用WCF方法报错:远程服务器返回错误 (404) 未找到
IIS配置问题,解决方法: 1. 首先添加MIME类型 扩展名“.svc”,MIME类型 “application/octet-stream” 2.处理程序映射--添加托管处理程序 请求路径 “.sv ...
- 【SP1811】 LCS - Longest Common Substring(SAM)
传送门 洛谷 Solution 考虑他要求的是最长公共子串对吧,那么我们对于一个串建后缀自动机,另一个串在后缀自动机上面跑就是了. 复杂度\(O(n+m)\)的,很棒! 代码实现 代码戳这里
- cad.net 利用win32api实现一个命令开关参照面板
首先我要判断是否已经打开了参照面板. 然而cad自己没有相关的系统变量.这时我就需要利用到win32api来判断程序是否打开了参照面板了. 首先学习的是 https://blog.csdn.net/b ...
- WIN 10下Mysql 5.7.21解压缩(免安装版)配置
网上看了N多大神的东西东抄抄西抄抄,老是就不对,因为很多资料不是针对5.7这个版本的内容. 首先解压文件,比如我解压到D:\Program Files\mysql-5.7.21-winx64 第一步: ...
- Java中的引用传递和值传递
Java中的引用传递和值传递 关于Java的引用传递和值传递,在听了老师讲解后,还是没有弄清楚是怎么一回事,于是查了资料,所以在这里与大家分享,有不对的地方,欢迎大家留言. java中是没有指针的,j ...
- Testing - 软件测试知识汇总
软件测试知识梳理 基础概念 : http://www.cnblogs.com/anliven/p/6070000.html 测试分类 : http://www.cnblogs.com/anliven/ ...
- HttpClient和HttpURLConnection的使用和区别(下)
转自来自点击打开链接 接着上一篇,我们继续来分析HttpURLConnection的使用,以及两者的共同点和区别. 目录 用法 HttpURLConnection 区别 引用资料 用法 HttpURL ...
- mongodb3.x主从配置及备份
本文将介绍下mongodb主从配置及备份 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...
- 【leetcode】20.有效的括号
题目 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.有效字符串需满足:左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可被认为 ...