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() ...
随机推荐
- Oracle里的执行计划
1 执行计划的查看 1 explan plan 2 dbms_xplan包 3 sqlplus中 set autot 4 10046 5 awr报告 6一些现成的脚本 7 10053 常见的就前4种 ...
- JavaScript笔记——面向对象与原型
JavaScript也是一门面向对象的语言.面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,JavaScript竟然没有class,因此它的面向对象也 ...
- windows Server 2008各版本有何区别?
windows Server 2008有几个版本,先一一列出来把: Windows Server 2008 Standard Edition (标准版) Windows Server 2008 ...
- 利用 Flask+Redis 维护 IP 代理池
代理池的维护 目前有很多网站提供免费代理,而且种类齐全,比如各个地区.各个匿名级别的都有,不过质量实在不敢恭维,毕竟都是免费公开的,可能一个代理无数个人在用也说不定.所以我们需要做的是大量抓取这些免费 ...
- Tornado 高并发源码分析之三--- Application 对象
Application 对象主要工作: 服务器启动时: 1.在新建一个app的时候,根据设置好的 URL 和回调函数 Handler 封装成URLSpec 对象 服务器运行时: 2.在请求到来,将 ...
- Android Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空间不够问题)
Android Studio 安装之后,默认的会给我们创建一个 Nexus 的模拟器, 这个模拟器的镜像文件放在了 C:\Users\Administrator\.android 中 其中的avd文 ...
- Xamarin官方示例代码无法部署,提示已跳过部署解决方法
最近利用Visual Studio 2017学习Android开发.主要是通过Xamarin官方的文档进行的.官方的入门指导提供了很多的示例代码.但是下载之后,调试运行的时候,总是无法部署到虚拟机上. ...
- Spring总结七:AOP动态代理的实现
Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类. 首先我们来用代码简单演示jdk动态代理: 现在有一个商品的增删改查的操作 /** * 商品操作接口 ...
- 【原创】10. MYSQL++ 之 DbDriver
1. 综述 DbDriver只是对于MYSQL C API的一个非常简单的封装,作者原句是This class does as little as possible to adapt between ...
- linux 目录和用户权限命令
1.linux 修改文件目录所有者 例:要将当前目录下名 title 的文件夹及其子文件的所有者改为geust组的su用户,方法如下: #chown -R su.geust title -R 递归式地 ...