time,datetime,calendar模块
Python中,与时间有关的模块有time,datetime和calendar。
1.时钟时间:time
在Python中,用三种方式来表示时间:时间戳,格式化时间字符串和结构化时间。
1)时间戳,就是从1970.01.01之后的秒,可以通过time.time()获得,是个浮点数。
2)格式化时间字符串,就是类似2019-03-30 20:30:12这样,可以通过time.locatime()获得。
3)结构化时间,就是包含了年月日时分秒的元组,可以通过time.strftime()获得。
1
2 import time
3 #1.获取以秒为单位的时间time.time():
4 print(time.time())
5 #2.获取人可以理解的时间time.ctime(),该方法也可以把以秒为单位的时间转换为人可以理解的时间:
6 t1=time.time()
7 print(t1)
8 print(time.ctime(t1))
9 #3.获取格林尼日时间(UTC)time.gmtime():
10 print(time.gmtime())
11 #4.根据当前时区获取当前的时间,time.localtime(),该方法获得是一个结构化的时间元组:
12 print(time.localtime())
13 #5.UTC时间与浮点值时间的相互换算
14 t2=time.time()
15 print(time.gmtime(t2)) #将浮点值时间转换为UTC时间
16 print(time.localtime(t2)) #将浮点值时间转换为本地时区的时间
17
18 t3=time.gmtime() #获取UTC格式时间
19 print(time.mktime(t3)) #将UTC时间转换为浮点值时间
20 t4=time.localtime() #获取UTC格式的当前时区时间
21 print(time.mktime(t4)) #UTC格式当前时区时间转换为浮点值时间
22 #6.解析UTC格式时间:
23 def parseUTCTime(t):
24 print('年:',t.tm_year)
25 print('月:',t.tm_mon)
26 print('日:',t.tm_mday)
27 print('时:',t.tm_hour)
28 print('分:',t.tm_min)
29 print('秒:',t.tm_sec)
30 print('星期:',t.tm_wday+1)
31 print('一年中的第 %s 天:' % t.tm_yday)
32 print('是否是夏时令:',t.tm_isdst)
33
34
35 t5=time.localtime()
36 parseUTCTime(t5)
37
38 #7.格式化日期
39 timeLocal=time.localtime()
40 # %a 星期简写 Tue
41 print("日期简写:",time.strftime("%a",timeLocal))
42 # %A 星期全称 Tuesday
43 print("日期全称:",time.strftime("%A",timeLocal))
44 # %b 月份简写 Jan
45 print("月份简称:",time.strftime("%b",timeLocal))
46 # %B 月份全称 January
47 print("月份全称:",time.strftime("%B",timeLocal))
48 # %c 适合语言下的时间表示 Tue Jan 8 21:35:03 2019
49 print(time.strftime("%c",timeLocal))
50 # %d 一个月的第一天,取值范围: [01,31]. 8
51 print("一个月的第%s天" % time.strftime("%d",timeLocal))
52 # %H 24小时制的小时,取值范围[00,23]. 21
53 print("当前时间(24小时制)为:",time.strftime("%H",timeLocal))
54 # %I 12小时制的小时,取值范围 [01,12]. 09
55 print("当前时间(12小时制)为:",time.strftime("%I",timeLocal))
56 # %j 一年中的第几天,取值范围 [001,366]. 008
57 print("一年中的第%s天" % time.strftime("%j",timeLocal))
58 # %m 十进制月份,取值范围[01,12]. 01
59 print("当前月份为:",time.strftime("%m",timeLocal))
60 # %M 分钟,取值范围 [00,59]. 42
61 print("当前的分钟为:",time.strftime("%M",timeLocal))
62 # %p 上、下午,AM 或 PM. PM
63 print("当前时间为:",time.strftime("%p",timeLocal))
64 # %S 秒,取值范围 [00,61]. 50
65 print("当前的秒为:",time.strftime("%S",timeLocal))
66 # %U 这一年的星期数(星期天为一个星期的第一天,开年的第一个星期天之前的天记到第0个星期)趋势范围[00,53]. 01
67 print("本周为为本年的第%s星期" % time.strftime("%U",timeLocal))
68 # %w 星期的十进制表示,取值范围 [0(星期天),6]. 2
69 print("今天为星期%s" % time.strftime("%w",timeLocal))
70 # %W 这一年的星期数(星期一为一个星期的第一天,开年的第一个星期一之前的天记到第0个星期)趋势范围[00,53]. 01
71 print("本周为本年的第%s个星期" % time.strftime("%W",timeLocal))
72 # %x 特定自然语言下的日期表示 01/08/19
73 print(time.strftime("%x",timeLocal))
74 # %X 特定自然语言下的时间表示 21:52:01
75 print(time.strftime("%X",timeLocal))
76 # %y 年的后两位数,取值范围[00,99]. 19
77 print("当年的后两位数:",time.strftime("%y",timeLocal))
78 # %Y 完整的年 2013
79 print("当年的完整年份:",time.strftime("%Y",timeLocal))
| 格式 | 含义 |
|---|---|
| %a | 本地星期名称的简写(如星期二为Tue) |
| %A | 本地星期名称的全称(如星期二为Tuesday) |
| %b | 本地月份名称的简写(如三月份为Mar) |
| %B | 本地月份名称的全称(如三月份为March) |
| %c | 本地相应的日期和时间的字符串表示(如:19/03/30 20:33:06) |
| %d | 一个月中的第几天(01 - 31) |
| %f | 微秒(范围0.999999) |
| %H | 一天中的第几个小时(24小时制,00 - 23) |
| %I | 第几个小时(12小时制,0 - 11) |
| %j | 一年中的第几天(001 - 366) |
| %m | 月份(01 - 12) |
| %M | 分钟数(00 - 59) |
| %p | 本地am或者pm的标识符 |
| %S | 秒(00 - 61) |
| %U | 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之 前的所有天数都放在第0周。 |
| %w | 一个星期中的第几天(0 - 6,0是星期天) |
| %W | 和%U基本相同,不同的是%W以星期一为一个星期的开始。 |
| %x | 本地相应日期字符串(如15/08/01) |
| %X | 本地相应时间字符串(如08:08:10) |
| %y | 去掉世纪的年份(00 - 99)两个数字表示的年份 |
| %Y | 完整的年份(4个数字表示年份) |
| %z | 与UTC时间的间隔(如果是本地时间,返回空字符串) |
| %Z | 时区的名字(如果是本地时间,返回空字符串) |
| %% | ‘%’字符 |
2.日期和时间管理:datetime
1 import datetime
2
3 #1.用datetime.time()构造时间,只能处理时分秒
4 print(datetime.time(22,36,12))
5 print(datetime.time.max,datetime.time.min,datetime.time.resolution) #时间的最大值,最小值,精度
6 #2.用datetime.date()构造日期,只能处理日月年,不能处理时分秒
7 print(datetime.date(2019,1,8))
8 print(datetime.date.max,datetime.date.min,datetime.date.resolution) #日期的最大值,最小值,精度
9
10 today=datetime.date.today() #获取今天
11 print(today)
12 print(today.replace(year=2018)) #替换年
13 print(today.replace(month=2)) #替换月
14 print(today.replace(day=12)) #替换日
15 #3.timedelta表示星期,日,小时,秒,毫秒,微秒,可以对datetime.date,datetime.time,datetime.datetime做算数运算。
16 print(datetime.timedelta(weeks=3)) #三个星期
17 print(datetime.timedelta(days=13)) #13天
18 print(datetime.timedelta(hours=24)) #1天
19 print(datetime.timedelta(seconds=86400)) #1天
calendar :处理日期,管理年,月,周等
1 import calendar
2
3 cal=calendar.TextCalendar(calendar.SATURDAY) #生成格式化的日历
4 cal.prmonth(2018,1)
5 #HTMLCalendar在处理一些重复性日期时比较方便
6
7 #日历在实际开发中使用的不多
time,datetime,calendar模块的更多相关文章
- #15 time&datetime&calendar模块
前言 从这一节开始,记录一些常用的内置模块,模块的学习可能比较无聊,但基础就在这无聊的模块中,话不多说,本节记录和时间相关的模块! 一.time模块 Python中设计时间的模块有很多,但是最常用的就 ...
- python日期与日历Datetime和Calendar模块
datetime模块 1.1 概述 datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的接口更加的直观,更容易调用 1.2 ...
- datetime模块+calendar模块
datetime: """ 模块中的类: datatime 同时有时间和日期 timedelta 主要用于计算时间的跨度 tzinfo 时区相关 time 只关注时间 d ...
- python 时间模块(time ,datetime,calendar)
Python中提供了时间相关的内置模块,我们主要用的是:time模块.datetime模块和calendar模块 ⽇期格式化的标准: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(00 ...
- Python3之时间模块time & datetime & calendar
一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %y 两位 ...
- 第三十二节,datetime时间模块
首先要引入import datetime时间模块 datetime.date.today()模块函数 功能:输出系统年月日输出格式 2016-01-26[无参] 使用方法:datetime.date. ...
- Day13 Python基础之time/datetime/random模块一(十一)
time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as ...
- calendar模块
calendar模块是个日历模块 1 判断是否是闰年 #!/urs/bin/evn python # -*- coding:utf-8 -*- import calendar print(calen ...
- python五十五课——calendar模块
4.calendar模块: 构造:calendar(year,[w=2,l=1,c=6]):返回year年的完整的日历信息对象 和闰年相关的函数如下: isleap(year):判断year是否是闰年 ...
- calendar 模块
calendar模块,即日历模块,提供了对日期的一些操作方法,和生成日历的方法 注:星期一是默认的每周第一天,星期天是默认的最后一天.更改设置需调用calendar.setfirstweekday() ...
随机推荐
- 22 mysql有那些”饮鸩止渴”提高性能的方法?
22 mysql有那些”饮鸩止渴”提高性能的方法? 正常的短连接模式是连接到数据库后,执行很少的SQL语句就断开,下次需要的时候再重新连接.如果使用的是短连接,在业务高峰期的时候,就可能出现连接数突然 ...
- verilog 之语法学习
1.使用非基数表示的十进制视为有符号数.使用基数表示的十进制被视为无符号数. 2.线网中的值被解释为无符号数,整型寄存器中的值被解释为有符号的二进制补码数,. 3.如果选择表达式的值为 x.z,或越界 ...
- mysql库操作
一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...
- oracle 12c使用问题总结
1.无法登录 安装完毕只能使用system和sys用户,用安装时配置的密码登录:不能使用默认密码 2.远程无法访问 1)检测服务器配置 lsnrctl status 看到(DESCRIPTION=(A ...
- 基于angularJs+ui-router+bootstrap风格的表格生成指令
1 /** 根据参数定制表格 * api接口: * form-model:[item1,item2,item3] * form-properties:[ * {key:'',label:'',thCl ...
- python arp欺骗
使用python构造一个arp欺骗脚本 import os import sys from scapy.all import * import optparse def main(): usage=& ...
- KMP算法详解(转)
转自http://www.matrix67.com/blog/archives/115 通常我们的方法是枚举从A串的什么位置起开始与B匹配,然后验证是否匹配.假如A串长度为n,B串长度为m,那么这种方 ...
- arm-linux-gcc-4.5.1的安装…
原文地址:arm-linux-gcc-4.5.1的安装方法作者:游牧 说明:我使用的是在虚拟机下的红帽linux5 ,通过终端工具SecureCRT操作,使用虚拟机等其他工具的过程大致相同 1.使用r ...
- Timer的定义及demo
- tomcat 7 7.0.73 url 参数 大括号 {} 不支持 , 7.0.67支持
7.0.73 url有JSON.stringify一个对象,然后作为参数拼接.结果请求报400错误,但是tomcat 7.0.67版本没有问题,猜测是高级版本对url参数比较严格. 处理方法: ...