【13】python 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 时区的名字(如果不存在为空字符)
%% ‘%’字符
#__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时间模块知识点备查的更多相关文章
- python的时间模块
python有两个重要的时间模块,分别是time和datetime 先看time模块 表示时间的几种方法: 1)时间元组:time.struct_time(tm_year=2016, tm_mon ...
- Python—day17时间模块、系统模块、递推遍历、序列化
一.time'''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])(指定 ...
- 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...
- python(时间模块,序列化模块等)
一.time模块 表示时间的三种方式: 时间戳:数字(计算机能认识的) 时间字符串:t='2012-12-12' 结构化时间:time.struct_time(tm_year=2017, tm_mon ...
- python time时间模块
在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串 (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00: ...
- Python之时间模块、random模块、json与pickle模块
一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...
- Python基础-时间模块和radom模块
时间模块 import time # 引入时间模块 print(time.time()) # 1508146954.9455004: 时间戳 print(time.clock()) # 计算CPU执行 ...
- Python的时间模块小结(转自:不懂真人)
import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...
- python(29)----时间模块
time模块 1. 三种时间表现形式 时间戳(timestamp) 格式化的时间字符串 元祖/结构化时间(struct_time) 2. 时间戳(timestamp) 通常来说,时间戳表示的是从197 ...
随机推荐
- Xcode中的Vim--XVim
相信大家在开始使用一门编程语言的时候,最先做的事就是去学习它对应的IDE.在你稍微进阶的时候,就会想着去学习IDE中的各种快捷键,比如 如何删除整行 如何在不使用鼠标的情况下,在代码间快速移动.跳转 ...
- win10 磁盘占用高--- 禁用用户改善反馈 CompatTelRunner.exe
1. 2.右键点开[这台电脑],点[管理],点[服务和应用程序]点[服务],在右边框里把[superfetch] [windows search][HomeGroupListener] [HomeGr ...
- zoj 2744 Palindromes(计算回文子串个数的优化策略)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2744 题目描述: A regular palindrome i ...
- ikanalyzer分词,计算信息熵排序分词结果
因需求,现需分词接口,故记录之. 1.需要依赖: <!-- https://mvnrepository.com/artifact/com.janeluo/ikanalyzer --> &l ...
- Redis简介及应用场景
一丶Redis介绍 Redis是一个开源的 key—value型 单线程 数据库,支持string.list.set.zset和hash类型数据. 默认端口:6379 默认数据库数量:16 二.优点: ...
- 解决代码报红:Cannot resolve symbol 'xxx'
直接复制别人的代码,maven依赖到自己的IDEA中,个别代码报红,说是不能加载这个东西,检查代码没错,依赖没错,引入jar包也没错 最后网上找到了解决方法,参考文章 如上图所示,一般建议点击Inva ...
- Can you find it?(数组+二分hdu2141)
Can you find it? Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/10000 K (Java/Others ...
- Java - Stack源码解析
Java提高篇(三一)-----Stack 在Java中Stack类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的.每一个栈都包含一个栈顶,每次出 ...
- Vue脚手架
https://cli.vuejs.org/zh/guide/ Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 搭建交互式的项目脚手架. 通过 @vu ...
- HUST1017(KB3-A Dancing links)
1017 - Exact cover Time Limit: 15s Memory Limit: 128MB Special Judge Submissions: 7270 Solved: 3754 ...