博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

二、Python开发---23、time模块

Posted on 2019-11-23 19:48  兰智杰  阅读(185)  评论(0编辑  收藏  举报

time模块

  常用的一种获取当前时间以及时间格式化的模块,模块名称:time

  time模块在Python原生安装中就存在所以不需要进行任何安装操作,直接使用即可,导入方式: import time

常用方法

    

时间元组

  

时间格式

  

import time
#回格林威治西部的夏令时地区的偏移秒数
print(time.altzone)                     #输出为 -32400

#接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"的24个字符的字符串。
print(time.asctime())  #返回可读形式的当前时间  输出为 Sat Nov 23 17:19:13 2019

#返回进程运行时间
print(time.clock())                    #第一次调用,返回的是进程运行的实际时间
print(time.clock())                    #第二次之后包括第三个的调用是自第一次调用以后到现在的运行时间

#返回当前时间的时间戳(重要)
print(time.time())                      #输出为 1574503445.9967415

print(time.ctime())                     #输出为 Sat Nov 23 18:07:12 2019
#作用相当于asctime(localtime(secs)),未给参数相当于asctime()(重要)
times = time.time()
print(time.ctime(0))                    #输出为 Thu Jan  1 08:00:00 1970
print(time.ctime(times))                #输出为 Sat Nov 23 18:07:12 2019

print(time.gmtime())                    #返回时间元组  返回的是格林威治时间元组
#输出为 time.struct_time(tm_year=2019, tm_mon=11, tm_mday=23, tm_hour=10, tm_min=12, tm_sec=19, tm_wday=5, tm_yday=327, tm_isdst=0)

#返回时间元组 返回的是当地时间(重要)
print(time.localtime())
#输出为 time.struct_time(tm_year=2019, tm_mon=11, tm_mday=23, tm_hour=18, tm_min=13, tm_sec=33, tm_wday=5, tm_yday=327, tm_isdst=0)

'''
    时间戳转换为时间元组,将时间元组转换为时间字符串
'''
#获取当前时间戳
times = time.time()
#将时间戳转换为时间元组
formatTime = time.localtime(times)
#接收以时间元组,并返回指定格式可读字符串表示的当地时间,格式由fmt决定
print(time.strftime('%Y-%m-%d %H:%M:%S',formatTime))

#time.strptime 将时间字符串转换为时间元组
times = '1993-3-27 0:1:2'
#转换为时间元祖
formatTime = time.strptime(times,'%Y-%m-%d %H:%M:%S')
print(formatTime)
#输出为 time.struct_time(tm_year=1993, tm_mon=3, tm_mday=27, tm_hour=0, tm_min=1, tm_sec=2, tm_wday=5, tm_yday=86, tm_isdst=-1)

#将时间元组转换为时间戳mktime
print(time.mktime(formatTime))          #输出为 733161662.0

# sleep 推迟调用线程的运行,secs指秒数
'''
    输出为  让子弹飞
            子弹在飞
            子弹到了
'''
for i in range(1):
    print('让子弹飞')
    time.sleep(2)
    print('子弹在飞')
    time.sleep(2)
    print('子弹到了')

练习

  1、将字符串的时间“2017-10-10 23:40:00”转换为时间戳和时间元组

import time
times = "2017-10-10 23:40:00"
#将字符串时间转换为时间元组
formatTime = time.strptime(times,'%Y-%m-%d %H:%M:%S')
print(formatTime)
#输出为 time.struct_time(tm_year=2017, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=1, tm_yday=283, tm_isdst=-1)
#将时间元组转换为时间戳
print(time.mktime(formatTime))  #输出为 1507650000.0

  2、字符串格式更改,如提time = “2017-10-10 23:40:00”,想改为 time= “2017/10/10 23:40:00”

import time
times = "2017-10-10 23:40:00"
formatTime = time.strptime(times,'%Y-%m-%d %H:%M:%S')
print(time.strftime('%Y/%m/%d %H:%M:%S',formatTime))    #输出为 2017/10/10 23:40:00

  3、获取当前时间戳转换为指定格式日期

import time
now = time.time()
formatTime = time.localtime(now)
print(time.strftime('%Y-%m-%d %H:%M:%S',formatTime))    #输出为 2019-11-25 16:09:40

  4、获得三天前的时间

import time
threeAgo = time.time() - 60*60*24*3
formatTime = time.localtime(threeAgo)
print(time.strftime('%Y-%m-%d %H:%M:%S',formatTime))    #输出为 2019-11-22 16:10:29