表示时间的三种形式

# 时间模块

'''
UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国来说是UTC+8
DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1个小时 时间的表示形式:
1、时间戳
以整型或浮点型表示时间的一个以秒为单位的时间间隔。这个时间间隔的基础值是从1970年1月1日领带开始算起
2、元组
一种Python的数据结构表示,这个元组有9个整型内容
year
month
day
hours
minutes
seconds
weekday
Julia day
flag (1 或 -1 或0) 0表示正常时间 1 表示DST时间 -1需要判断 3、格式化字符串
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符
 
 #__author:"吉*佳"
#date: 2018/10/22 0022
#function: import time # 时间模块 '''
UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国来说是UTC+8
DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1个小时 时间的表示形式:
1、时间戳
以整型或浮点型表示时间的一个以秒为单位的时间间隔。这个时间间隔的基础值是从1970年1月1日领带开始算起
2、元组
一种Python的数据结构表示,这个元组有9个整型内容
year
month
day
hours
minutes
seconds
weekday
Julia day
flag (1 或 -1 或0) 0表示正常时间 1 表示DST时间 -1需要判断 3、格式化字符串
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符 2017-07-28 14:49:30
''' # 1 返回当前时间的时间戳,浮点数形式,不需要参数
c = time.time()
print(c)
'''
输出:时间戳
1540214592.0838583
''' #将时间戳转为UTC时间元组(是世界标准时间,不是北京时间)
t = time.gmtime(c)
print(t)
'''
输出:世界标准时间
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=22, tm_hour=13, tm_min=23, tm_sec=12, tm_wday=0, tm_yday=295, tm_isdst=0) ''' #将时间戳转为本地时间元组
b = time.localtime(c)
print(b)
'''
输出:
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=22, tm_hour=21, tm_min=23, tm_sec=12, tm_wday=0, tm_yday=295, tm_isdst=0)
''' #将本地时间元组转成时间戳
m = time.mktime(b)
print(m)
'''
输出:
1540216089.0
''' #将时间元组转成字符串
s = time.asctime(b)
print(s)
'''
输出:
Mon Oct 22 22:08:17 2018
'''
#将时间戳转为字符串 time.asctime(time.localtime(time.time()))
p = time.ctime(c)
print(p)
'''
输出:
Mon Oct 22 22:08:17 2018
''' #将时间元组转换成给定格式的字符串,参数2为时间元组,如果没有参数2,默认转当前时间
q = time.strftime("%Y-%m-%d %H:%M:%S", b)
print(q)
print(type(q))
'''
输出:
2018-10-22 22:08:17
<class 'str'>
''' #将时间字符串转为时间元组
w = time.strptime(q, "%Y-%m-%d %X")
print(w)
'''
输出:
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=22, tm_hour=22, tm_min=10, tm_sec=58, tm_wday=0, tm_yday=295, tm_isdst=-1) ''' #延迟一个时间,整型或者浮点型
#time.sleep(4) #返回当前程序的cup执行时间
#Unix形同始终返回全部的运行时间
#windows从第二次开始,都是以第一个调用此函数的开始间戳作为基数
y1 = time.clock()
print("%d" % y1)
time.sleep(2)
y2 = time.clock()
print("%d" % y2)
time.sleep(2)
y3 = time.clock()
print("%d" % y3) '''
输出:
0
2
4 '''

总结:

关于三种形式表示时间上的转换图

评测一个程序花费的时间长度(windows为例):

# 比如检测一个程序运行所花的时间大小

time.clock()
sum = 0
for i in range(100000000):
sum += i
print(time.clock()) '''
输出:
23.743988065019252
'''

# datetime 比time 好了很多,提供了更多的接口,更加直观和容易调用

import datetime

# 主要的方法
模块中的类
datetime 同时有时间和日期
timedelta 用于计算时间的跨度
tzinfo 时区相关
time 时间
date 日期
#__author:"吉*佳"
#date: 2018/10/22 0022
#function: # datetime 比time 好了很多,提供了更多的接口,更加直观和容易调用 import datetime # 主要的方法
'''
模块中的类
datetime 同时有时间和日期
timedelta 用于计算时间的跨度
tzinfo 时区相关
time 时间
date 日期 ''' # 使用: # 1 获取当前时间
nowtime=datetime.datetime.now()
print(nowtime)
print(type(nowtime))
'''
输出:
2018-10-22 22:58:31.973017
<class 'datetime.datetime'>
''' # 2 获取指定时间
d2 = datetime.datetime(1994,1,10,10,28,25,111)
print(d2) '''
输出:
1994-01-10 10:28:25.000111
''' # 3 将以上时间(nowtime)转化为 字符串
d3 = nowtime.strftime('%y-%m-%d %H:%M:%S')
print(d3)
print(type(d3)) d31 = nowtime.strftime('%Y-%m-%d %H:%M:%S') #大Y表示四位的年
print(d31) '''
输出:
18-10-22 23:04:35
<class 'str'>
2018-10-22 23:05:48
''' # 4 将字符串 转化为 datetime类型的
d4 = datetime.datetime.strptime(d3,'%y-%m-%d %H:%M:%S')
print("d4=",d4)
'''
输出:
d4= 2018-10-22 23:12:14
''' # 5 datetime型是可以做加减运算的
d5 = datetime.datetime(1994,1,10,13,25,48,111)
d6 = datetime.datetime.now()
d= d6-d5
print(d) #打印出间隔的天数和秒数
print(d.days) #打印出间隔的天数
print(d.seconds) #打印出出去整数天外的间隔的秒数 print(type(d)) #所属的类型是
'''
输出:
9051 days, 9:50:06.403529
9051
35406
<class 'datetime.timedelta'>
'''

#__author:"吉*佳"
#date: 2018/10/22 0022
#function: import calendar
# 日历模块 # 1 返回指定年内某月的日历信息
print(calendar.month(2018,10)) '''
输出:
October 2018
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.calendar(2018))
'''
输出:
2018 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 5 6 7 1 2 3 4 1 2 3 4
8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
29 30 31 26 27 28 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 1 2 3 4 5 6 1 2 3
2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
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 1 2 3 4 5 1 2
2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23
23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28 29 30
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 5 6 7 1 2 3 4 1 2
8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
31 ''' # 返回 判断瑞年与否
print(calendar.isleap(2018))
'''
输出:
False
''' # 返回这个月的weekday的第一天和月的天数
print(calendar.monthrange(2018,2)) '''
输出:
(3, 28)
其中3 代表第一天是从周四开始的,28 代表天数
''' # 返回某个月以每一周为元素的列表
print(calendar.monthcalendar(2018,6))
'''
输出:
[[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, 0]] '''

【13】python time时间模块知识点备查的更多相关文章

  1. python的时间模块

    python有两个重要的时间模块,分别是time和datetime 先看time模块 表示时间的几种方法: 1)时间元组:time.struct_time(tm_year=2016,   tm_mon ...

  2. Python—day17时间模块、系统模块、递推遍历、序列化

    一.time'''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])(指定 ...

  3. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

  4. python(时间模块,序列化模块等)

    一.time模块 表示时间的三种方式: 时间戳:数字(计算机能认识的) 时间字符串:t='2012-12-12' 结构化时间:time.struct_time(tm_year=2017, tm_mon ...

  5. python time时间模块

    在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串 (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00: ...

  6. Python之时间模块、random模块、json与pickle模块

    一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...

  7. Python基础-时间模块和radom模块

    时间模块 import time # 引入时间模块 print(time.time()) # 1508146954.9455004: 时间戳 print(time.clock()) # 计算CPU执行 ...

  8. Python的时间模块小结(转自:不懂真人)

    import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...

  9. python(29)----时间模块

    time模块 1. 三种时间表现形式 时间戳(timestamp) 格式化的时间字符串 元祖/结构化时间(struct_time) 2. 时间戳(timestamp) 通常来说,时间戳表示的是从197 ...

随机推荐

  1. 团队作业6——展示博客(alpha阶段)

    Deadline: 2018-5-9 10:00PM,以提交至班级博客时间为准. 5.10周四实验课将进行alpha阶段项目复审,请在5.10之前,根据以下要求,完成alpha版本的展示,并以此作为参 ...

  2. SpringMVC源码阅读:属性编辑器、数据绑定

    1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...

  3. linux下开启、关闭、重启mysql服务

    linux下开启.关闭.重启mysql服务命令 一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql ...

  4. office online server部署和简单操作

    office online server是Office Web Apps Server的升级版本,安装环境必须为 Windows Server 2012 R2 参考地址:https://technet ...

  5. C# 最大二叉堆算法

    C#练习二叉堆算法. namespace 算法 { /// <summary> /// 最大堆 /// </summary> /// <typeparam name=&q ...

  6. TCP Socket Http关系

    理解Tomcat内部处理网络数据的机制同时需要了解相关的一些术语,这样我们在阅读源码的时候能更加清楚的理解Connector下使用到的Socket通信原理. TCP/IP: 数据在网络传输是基于TCP ...

  7. AutoMapper在项目中的应用

    一.先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领 ...

  8. python学习之老男孩python全栈第九期_day009作业

    1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 答: l1 = [] def odd(li): for i in range(1,len(li),2 ...

  9. Software-Defined Networking A Comprehensive Survey --阅读_day2

    3. 什么是SDN?(WHAT IS SOFTWARE-DEFINED NETWORKING?) The term SDN was originally coined to represent the ...

  10. java队列Queue及阻塞队列

    java队列 接口Queue类在java.util包,定义了以下6个方法 详细查看官方文档https://docs.oracle.com/javase/7/docs/api/java/util/Que ...