您的位置:首页 > 脚本大全 > > 正文

pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

更多 时间:2021-10-12 00:14:03 类别:脚本大全 浏览量:642

pythontime模块有哪些

Python3.5内置模块之time与datetime模块用法实例分析

本文实例讲述了python3.5内置模块之time与datetime模块用法。分享给大家供大家参考,具体如下:

1、模块的分类

a、标准库(python自带):sys、os模块

b、开源模块(第三方模块)

c、自定义模块

2、内建模块——time

pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

(1)在python中通常用以下几种方式来表示时间:

a、时间戳:从1970年1月1日开始到当下的时间的秒数,导入time模块(import time),调用time.time()方法即可。

b、格式化的时间字符串。

c、元组(struct_time),共九个元素,调用time.localtime()。

由于python的time模块实现主要调用c库,各个平台可能有所不同。

pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

(2)代码

  • ?
  • 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
  • #!/usr/bin/env python
  • # -*- coding:utf-8 -*-
  • # author:zhengzhengliu
  •  
  • import time
  • print(time.time())   #获取时间戳
  • time.sleep(2)      #睡2秒
  • print(time.time())   #获取时间戳
  • print(time.gmtime())  #获取当前世界标准时间utc
  • print(time.localtime()) #获取当前本地时间
  • print(time.localtime(1234567890))  #将时间戳转换成元组形式
  • x = time.localtime()
  • print(x.tm_year)    #获取本地时间的年份
  • print("this is 2017 day:%d" %x.tm_yday)
  • print(time.mktime(x))  #将元组形式转换成时间戳
  •  
  • #将struct_time转化成格式化字符串的形式
  • #print(time.strftime("%y-%m-%d %h:%m:%s"),x)
  • print(time.strftime("%y-%m-%d %h:%m:%s"),time.localtime())  # %y:x.tm_year  %m:x.tm_mon 顺序可以打乱
  •  
  • #将格式化字符串的形式转化成struct_time
  • print(time.strptime("2017-09-28 19:00:47","%y-%m-%d %h:%m:%s"))  #x.tm_year:2017,x.tm_mon:09 位置顺序必须一一对应
  •  
  • print(time.asctime())   #结构化的元组形式转换成形如:周月日时分秒年的形式
  • print(time.ctime())    #将时间戳转化成形如:周月日时分秒年的形式
  • 运行结果:

    1506598454.9637923
    1506598456.9639068
    time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=11, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
    time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
    time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)
    2017
    this is 2017 day:271
    1506598456.0
    2017-09-28 19:34:16 time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
    time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=0, tm_sec=47, tm_wday=3, tm_yday=271, tm_isdst=-1)
    thu sep 28 19:34:17 2017
    thu sep 28 19:34:17 2017

    (3)几种表示时间的相互转化

    pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

    pythontime模块有哪些(Python3.5内置模块之time与datetime模块用法实例分析)

  • ?
  • 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
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • #!/usr/bin/env python
  • # -*- coding:utf-8 -*-
  • # author:zhengzhengliu
  •  
  • import time     #导入时间模块
  •  
  • #1.返回当前时间戳
  • t = time.time()
  • print("current time:",t)
  •  
  • #2.将时间戳转换成当地时间的时间元祖
  • tup1 = time.localtime(t)
  • print(tup1)
  •  
  • #年:tm_year,月:tm_mon,日:tm_mday
  • print("年份:",tup1.tm_year)
  • print("月份:",tup1.tm_mon)
  • print("日期:",tup1.tm_mday)
  •  
  • #3.将时间元组转换为时间戳(毫秒会忽略)
  • print("timestamp is:",time.mktime(tup1))
  •  
  • #4.0 获取cpu运行时间来获取比较精准的秒数,一般用于时间间隔的获取或比较
  • #4.1 休眠/停止一段时间,指定需要停止的秒数
  • print("开始时间:",time.clock())
  • time.sleep(3)
  • print("结束时间1:",time.clock())
  • time.sleep(3)
  • print("结束时间2:",time.clock())
  •  
  • #5.时间元组转化成格式化时间字符串
  • tm_str = time.strftime("%y-%m-%d %h:%m:%s",tup1)
  • print("格式化时间字符串:",tm_str)
  • #等价于
  • print("格式化时间字符串:",time.strftime("%y-%m-%d %h:%m:%s",tup1))
  •  
  • #6.格式化时间字符串转化成时间元组
  • tup2 = time.strptime(tm_str,"%y-%m-%d %h:%m:%s")
  • print("时间元组:",tup2)
  • #等价于
  • print("时间元组:",time.strptime(tm_str,"%y-%m-%d %h:%m:%s"))
  • 运行结果:

    current time: 1509503024.233398
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=0)
    年份: 2017
    月份: 11
    日期: 1
    timestamp is: 1509503024.0
    开始时间: 1.399506347461039e-06
    结束时间1: 2.9997266297601293
    结束时间2: 5.999885706981624
    格式化时间字符串: 2017-11-01 10:23:44
    格式化时间字符串: 2017-11-01 10:23:44
    时间元组: time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=-1)
    时间元组: time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=-1)

    3、内建模块——datatime

    (1)datatime.data——日期(年月日)

    (2)datatime.time——时间(时分秒)

    (3)datatime.datatime——日期+时间(年月日时分秒)

    代码举例:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • import datetime
  • print(datetime.datetime.now())   #获取当前时间
  • print(datetime.datetime.now()+datetime.timedelta(3))  #当前时间的后三天
  • print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间的前三天
  • print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间的后三个小时
  • print(datetime.datetime.now()+datetime.timedelta(minutes=-3)) #当前时间的前三分钟
  • c_time = datetime.datetime.now()
  • print(c_time.replace(minute=2,hour=3))  #对当前时间的替换
  • 运行结果:

    2017-09-28 19:54:40.167870
    2017-10-01 19:54:40.167870
    2017-09-25 19:54:40.167870
    2017-09-28 22:54:40.167870
    2017-09-28 19:51:40.167870
    2017-09-28 03:02:40.167870

    希望本文所述对大家python程序设计有所帮助。

    原文链接:https://blog.csdn.net/loveliuzz/article/details/78123426

    标签:Python datetime time
    您可能感兴趣