python复习笔记[6]——时间与日期
来源:互联网 发布:sql order by 降序 编辑:程序博客网 时间:2024/05/29 16:10
时间和日期:
python中提供了time和calendar模块来用于格式化日期和时间
时间元组(struct_time):
属性
字段
值
tm_year
4位数年
2008
tm_mon
月
1 到 12
tm_mday
日
1到31
tm_hour
小时
0到23
tm_min
分钟
0到59
tm_sec
秒
0到61 (60或61是闰秒)
tm_wday
一周的第几日
0到6 (0是周一)
tm_yday
一年的第几日
1到366 (儒略历)
tm_isdst
夏令时
-1, 0, 1, -1是决定是否为夏令时的旗帜
Time相关的方法:
函数
描述
time.altzone
返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。
time.asctime([tupletime])
接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
time.clock( )
用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。
time.ctime([secs])
作用相当于asctime(localtime(secs)),未给参数相当于asctime()
time.gmtime([secs])
接收时间辍(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0
time.localtime([secs])
接收时间辍(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。
time.mktime(tupletime)
接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)。
time.sleep(secs)
推迟调用线程的运行,secs指秒数。
time.strftime(fmt[,tupletime])
接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式把一个时间字符串解析为时间元组。
time.timer( )
返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
time.tzset()
根据环境变量TZ重新初始化时间相关设置。
Time模块的两个重要属性:
属性
描述
time.timezone
属性time.timezone是当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。
time.tzname
属性time.tzname包含一对根据情况的不同而不同的字符串,分别是带夏令时的本地时区名称,和不带的。
Calendar相关的方法:
函数
描述
calendar.calendar(year,w=2,l=1,c=6)
返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
calendar.firstweekday( )
返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。
calendar.isleap(year)
是闰年返回True,否则为false。
calendar.leapdays(y1,y2)
返回在Y1,Y2两年之间的闰年总数。
calendar.month(year,month,w=2,l=1)
返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
calendar.monthcalendar(year,month)
返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。
calendar.monthrange(year,month)
返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。
calendar.prcal(year,w=2,l=1,c=6)
相当于 print calendar.calendar(year,w,l,c).
calendar.prmonth(year,month,w=2,l=1)
相当于 print calendar.calendar(year,w,l,c)。
calendar.setfirstweekday(weekday)
设置每周的起始日期码。0(星期一)到6(星期日)。
calendar.timegm(tupletime)
和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间辍(1970纪元后经过的浮点秒数)。
calendar.weekday(year,month,day)
返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月)到 12(12月)。
Time和Calendar的使用示例和笔记:
import time;
import calendar;
localtime = time.localtime(time.time());
print localtime;
#输出:
# time.struct_time(tm_year=2017, tm_mon=2, tm_mday=21, tm_hour=17, tm_min=19, tm_sec=56, tm_wday=1, tm_yday=52, tm_isdst=0)
print localtime.tm_year;
#输出:2017
localtime = time.asctime(time.localtime(time.time()));
print localtime;
#输出:Tue Feb 21 17:19:56 2017
cal = calendar.month(2015, 5);
print cal;
#输出:
# May 2015
#Mo Tu We Th Fr Sa Su
# 1 2 3
# 4 5 6 7 8 9 10
#11 12 13 14 15 16 17
#18 19 20 21 22 23 24
#25 26 27 28 29 30 31
print type(cal);
#输出:<type 'str'>
print cal.splitlines();
#输出:
# [' May 2015', 'Mo Tu We Th Fr Sa Su', ' 1 2 3', ' 4 5 6 7 8 9 10', '11 12 13 14 15 16 17', '18 19 20 21 22 23 24', '25 26 27 28 29 30 31']
for i in range(10):
print "tick";
# time.sleep(1);
print time.timezone;
#输出:-28800
print time.tzname;
#输出:('China Standard Time', 'China Daylight Time')
print calendar.calendar(2015, 2, 1, 6);
#输出:
# 2015
#
# January February March
#Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
# 1 2 3 4 1 1
# 5 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 8
#12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15
#19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22
#26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29
# 30 31
#
# April May June
#Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
# 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
# 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
#13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
#20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
#27 28 29 30 25 26 27 28 29 30 31 29 30
#
# July August September
#Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
# 1 2 3 4 5 1 2 1 2 3 4 5 6
# 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
#13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
#20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
#27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
# 31
#
# October November December
#Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
# 1 2 3 4 1 1 2 3 4 5 6
# 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
#12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
#19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
#26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
# 30
print calendar.isleap(1900); #是闰年返回True,否则为false。
#输出:False
"""非整百年能被4整除的为闰年。(如2004年就是闰年,1900年不是闰年)
整百年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
对于数值很大的年份,这年如果能被3200整除,并且能被172800整除则是闰年。
如172800年是闰年,86400年不是闰年(因为虽然能被3200整除,但不能被172800整除)
(此按一回归年365天5h48'45.5''计算)。
"""
print calendar.leapdays(1899, 1924);
#输出:5 返回在1899,1924两年之间的闰年总数。
print calendar.firstweekday();
#输出:0 即星期一
print calendar.month(2015, 5);
#输出:
# May 2015
#Mo Tu We Th Fr Sa Su
# 1 2 3
# 4 5 6 7 8 9 10
#11 12 13 14 15 16 17
#18 19 20 21 22 23 24
#25 26 27 28 29 30 31
print calendar.monthcalendar(2015, 5);
#输出:[[0, 0, 0, 0, 1, 2, 3], [4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23, 24], [25, 26, 27, 28, 29, 30, 31]]
print calendar.monthrange(2015, 5);
#输出:(4, 31)
- python复习笔记[6]——时间与日期
- Java复习笔记[5] —— 时间和日期
- Python学习笔记 —— 日期时间
- php笔记(6)——时间与日期
- Python 日期与时间
- python日期与时间
- Python学习笔记(五)——日期和时间
- Java基础复习:日期与时间
- python复习笔记[5]——元组与字典
- 初学 Python — 处理日期与时间[0]
- 初学 Python — 处理日期与时间[1]
- Java学习笔记(6): 时间与日期
- c++ 时间和日期、随机数—— c++复习(四)
- python中的日期与时间
- python复习笔记[3]——字符串
- python复习笔记[4]——列表
- python复习笔记[7]——函数
- Python——处理日期和时间
- 解决 shell 编程 错误 bash: [: missing `]'
- webpack引入SuperMap iClient3D 8C for Plugin
- 线程的故事(转)
- 从今天开始写博客么么哒...
- 深入理解JavaScript系列(2):揭秘命名函数表达式
- python复习笔记[6]——时间与日期
- 如何用photoshop把一张图片分割成几张图片呢?
- orcale值转换
- fragment 穿透点击了
- win7 64位 eclipse集成python搭建opengl环境
- 将整数A转换为整数B
- 卫语句,多层循环优化
- 多态的程序例子
- django自带的server 让外网主机访问