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. 1
    2 import time
  2. 3 #1.获取以秒为单位的时间time.time():
  3. 4 print(time.time())
  4. 5 #2.获取人可以理解的时间time.ctime(),该方法也可以把以秒为单位的时间转换为人可以理解的时间:
  5. 6 t1=time.time()
  6. 7 print(t1)
  7. 8 print(time.ctime(t1))
  8. 9 #3.获取格林尼日时间(UTC)time.gmtime():
  9. 10 print(time.gmtime())
  10. 11 #4.根据当前时区获取当前的时间,time.localtime(),该方法获得是一个结构化的时间元组:
  11. 12 print(time.localtime())
  12. 13 #5.UTC时间与浮点值时间的相互换算
  13. 14 t2=time.time()
  14. 15 print(time.gmtime(t2)) #将浮点值时间转换为UTC时间
  15. 16 print(time.localtime(t2)) #将浮点值时间转换为本地时区的时间
  16. 17
  17. 18 t3=time.gmtime() #获取UTC格式时间
  18. 19 print(time.mktime(t3)) #将UTC时间转换为浮点值时间
  19. 20 t4=time.localtime() #获取UTC格式的当前时区时间
  20. 21 print(time.mktime(t4)) #UTC格式当前时区时间转换为浮点值时间
  21. 22 #6.解析UTC格式时间:
  22. 23 def parseUTCTime(t):
  23. 24 print('年:',t.tm_year)
  24. 25 print('月:',t.tm_mon)
  25. 26 print('日:',t.tm_mday)
  26. 27 print('时:',t.tm_hour)
  27. 28 print('分:',t.tm_min)
  28. 29 print('秒:',t.tm_sec)
  29. 30 print('星期:',t.tm_wday+1)
  30. 31 print('一年中的第 %s 天:' % t.tm_yday)
  31. 32 print('是否是夏时令:',t.tm_isdst)
  32. 33
  33. 34
  34. 35 t5=time.localtime()
  35. 36 parseUTCTime(t5)
  36. 37
  37. 38 #7.格式化日期
  38. 39 timeLocal=time.localtime()
  39. 40 # %a 星期简写 Tue
  40. 41 print("日期简写:",time.strftime("%a",timeLocal))
  41. 42 # %A 星期全称 Tuesday
  42. 43 print("日期全称:",time.strftime("%A",timeLocal))
  43. 44 # %b 月份简写 Jan
  44. 45 print("月份简称:",time.strftime("%b",timeLocal))
  45. 46 # %B 月份全称 January
  46. 47 print("月份全称:",time.strftime("%B",timeLocal))
  47. 48 # %c 适合语言下的时间表示 Tue Jan 8 21:35:03 2019
  48. 49 print(time.strftime("%c",timeLocal))
  49. 50 # %d 一个月的第一天,取值范围: [01,31]. 8
  50. 51 print("一个月的第%s天" % time.strftime("%d",timeLocal))
  51. 52 # %H 24小时制的小时,取值范围[00,23]. 21
  52. 53 print("当前时间(24小时制)为:",time.strftime("%H",timeLocal))
  53. 54 # %I 12小时制的小时,取值范围 [01,12]. 09
  54. 55 print("当前时间(12小时制)为:",time.strftime("%I",timeLocal))
  55. 56 # %j 一年中的第几天,取值范围 [001,366]. 008
  56. 57 print("一年中的第%s天" % time.strftime("%j",timeLocal))
  57. 58 # %m 十进制月份,取值范围[01,12]. 01
  58. 59 print("当前月份为:",time.strftime("%m",timeLocal))
  59. 60 # %M 分钟,取值范围 [00,59]. 42
  60. 61 print("当前的分钟为:",time.strftime("%M",timeLocal))
  61. 62 # %p 上、下午,AM 或 PM. PM
  62. 63 print("当前时间为:",time.strftime("%p",timeLocal))
  63. 64 # %S 秒,取值范围 [00,61]. 50
  64. 65 print("当前的秒为:",time.strftime("%S",timeLocal))
  65. 66 # %U 这一年的星期数(星期天为一个星期的第一天,开年的第一个星期天之前的天记到第0个星期)趋势范围[00,53]. 01
  66. 67 print("本周为为本年的第%s星期" % time.strftime("%U",timeLocal))
  67. 68 # %w 星期的十进制表示,取值范围 [0(星期天),6]. 2
  68. 69 print("今天为星期%s" % time.strftime("%w",timeLocal))
  69. 70 # %W 这一年的星期数(星期一为一个星期的第一天,开年的第一个星期一之前的天记到第0个星期)趋势范围[00,53]. 01
  70. 71 print("本周为本年的第%s个星期" % time.strftime("%W",timeLocal))
  71. 72 # %x 特定自然语言下的日期表示 01/08/19
  72. 73 print(time.strftime("%x",timeLocal))
  73. 74 # %X 特定自然语言下的时间表示 21:52:01
  74. 75 print(time.strftime("%X",timeLocal))
  75. 76 # %y 年的后两位数,取值范围[00,99]. 19
  76. 77 print("当年的后两位数:",time.strftime("%y",timeLocal))
  77. 78 # %Y 完整的年 2013
  78. 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. 1 import datetime
  2. 2
  3. 3 #1.用datetime.time()构造时间,只能处理时分秒
  4. 4 print(datetime.time(22,36,12))
  5. 5 print(datetime.time.max,datetime.time.min,datetime.time.resolution) #时间的最大值,最小值,精度
  6. 6 #2.用datetime.date()构造日期,只能处理日月年,不能处理时分秒
  7. 7 print(datetime.date(2019,1,8))
  8. 8 print(datetime.date.max,datetime.date.min,datetime.date.resolution) #日期的最大值,最小值,精度
  9. 9
  10. 10 today=datetime.date.today() #获取今天
  11. 11 print(today)
  12. 12 print(today.replace(year=2018)) #替换年
  13. 13 print(today.replace(month=2)) #替换月
  14. 14 print(today.replace(day=12)) #替换日
  15. 15 #3.timedelta表示星期,日,小时,秒,毫秒,微秒,可以对datetime.date,datetime.time,datetime.datetime做算数运算。
  16. 16 print(datetime.timedelta(weeks=3)) #三个星期
  17. 17 print(datetime.timedelta(days=13)) #13天
  18. 18 print(datetime.timedelta(hours=24)) #1天
  19. 19 print(datetime.timedelta(seconds=86400)) #1天

calendar :处理日期,管理年,月,周等

  1. 1 import calendar
  2. 2
  3. 3 cal=calendar.TextCalendar(calendar.SATURDAY) #生成格式化的日历
  4. 4 cal.prmonth(2018,1)
  5. 5 #HTMLCalendar在处理一些重复性日期时比较方便
  6. 6
  7. 7 #日历在实际开发中使用的不多

time,datetime,calendar模块的更多相关文章

  1. #15 time&datetime&calendar模块

    前言 从这一节开始,记录一些常用的内置模块,模块的学习可能比较无聊,但基础就在这无聊的模块中,话不多说,本节记录和时间相关的模块! 一.time模块 Python中设计时间的模块有很多,但是最常用的就 ...

  2. python日期与日历Datetime和Calendar模块

    datetime模块 1.1 概述 datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的接口更加的直观,更容易调用 1.2 ...

  3. datetime模块+calendar模块

    datetime: """ 模块中的类: datatime 同时有时间和日期 timedelta 主要用于计算时间的跨度 tzinfo 时区相关 time 只关注时间 d ...

  4. python 时间模块(time ,datetime,calendar)

    Python中提供了时间相关的内置模块,我们主要用的是:time模块.datetime模块和calendar模块 ⽇期格式化的标准: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(00 ...

  5. Python3之时间模块time & datetime & calendar

    一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %y 两位 ...

  6. 第三十二节,datetime时间模块

    首先要引入import datetime时间模块 datetime.date.today()模块函数 功能:输出系统年月日输出格式 2016-01-26[无参] 使用方法:datetime.date. ...

  7. Day13 Python基础之time/datetime/random模块一(十一)

    time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as ...

  8. calendar模块

    calendar模块是个日历模块 1  判断是否是闰年 #!/urs/bin/evn python # -*- coding:utf-8 -*- import calendar print(calen ...

  9. python五十五课——calendar模块

    4.calendar模块: 构造:calendar(year,[w=2,l=1,c=6]):返回year年的完整的日历信息对象 和闰年相关的函数如下: isleap(year):判断year是否是闰年 ...

  10. calendar 模块

    calendar模块,即日历模块,提供了对日期的一些操作方法,和生成日历的方法 注:星期一是默认的每周第一天,星期天是默认的最后一天.更改设置需调用calendar.setfirstweekday() ...

随机推荐

  1. Oracle里的执行计划

    1 执行计划的查看 1 explan plan 2 dbms_xplan包 3 sqlplus中 set autot 4 10046 5 awr报告 6一些现成的脚本 7 10053 常见的就前4种 ...

  2. JavaScript笔记——面向对象与原型

    JavaScript也是一门面向对象的语言.面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,JavaScript竟然没有class,因此它的面向对象也 ...

  3. windows Server 2008各版本有何区别?

    windows Server 2008有几个版本,先一一列出来把: Windows Server 2008 Standard Edition     (标准版) Windows Server 2008 ...

  4. 利用 Flask+Redis 维护 IP 代理池

    代理池的维护 目前有很多网站提供免费代理,而且种类齐全,比如各个地区.各个匿名级别的都有,不过质量实在不敢恭维,毕竟都是免费公开的,可能一个代理无数个人在用也说不定.所以我们需要做的是大量抓取这些免费 ...

  5. Tornado 高并发源码分析之三--- Application 对象

    Application 对象主要工作: 服务器启动时: 1.在新建一个app的时候,根据设置好的 URL 和回调函数 Handler 封装成URLSpec 对象   服务器运行时: 2.在请求到来,将 ...

  6. Android Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空间不够问题)

    Android Studio 安装之后,默认的会给我们创建一个 Nexus 的模拟器, 这个模拟器的镜像文件放在了 C:\Users\Administrator\.android  中 其中的avd文 ...

  7. Xamarin官方示例代码无法部署,提示已跳过部署解决方法

    最近利用Visual Studio 2017学习Android开发.主要是通过Xamarin官方的文档进行的.官方的入门指导提供了很多的示例代码.但是下载之后,调试运行的时候,总是无法部署到虚拟机上. ...

  8. Spring总结七:AOP动态代理的实现

    Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类. 首先我们来用代码简单演示jdk动态代理: 现在有一个商品的增删改查的操作 /** * 商品操作接口 ...

  9. 【原创】10. MYSQL++ 之 DbDriver

    1. 综述 DbDriver只是对于MYSQL C API的一个非常简单的封装,作者原句是This class does as little as possible to adapt between ...

  10. linux 目录和用户权限命令

    1.linux 修改文件目录所有者 例:要将当前目录下名 title 的文件夹及其子文件的所有者改为geust组的su用户,方法如下: #chown -R su.geust title -R 递归式地 ...