分享

Python常用时间函数

 bitzhang 2020-04-25

常用的时间函数如下

获取当前日期:time.time()

获取元组形式的时间戳:time.local(time.time())

格式化日期的函数(基于元组的形式进行格式化):

(1)time.asctime(time.local(time.time()))

import time

#最简单的获取可读的时间模式的函数是asctime():
localtime = time.asctime( time.localtime(time.time()) )
print ("本地时间为 :", localtime)
#本地时间为 : Thu Apr  7 10:29:13 2016

(2)time.strftime(format[,t])  格式化日期

复制代码
#---strftime 方法来格式化日期
import time

# 格式化成2016-03-20 11:45:39形式
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

# 格式化成Sat Mar 28 22:24:24 2016形式
print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
  
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))

'''
2016-04-07 10:29:46
Thu Apr 07 10:29:46 2016
1459175064.0
'''
复制代码

(3)time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式把一个时间字符串解析为时间元组

 import time
struct_time = time.strptime("30 Nov 00", "%d %b %y")
print ("返回元组: ", struct_time)
#返回元组:  time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

将格式字符串转换为时间戳:

time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

(4)time.mktime(tupletime)
接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)

# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
#1459175064.0

延迟执行:time.sleep([secs]),单位为秒

例一:

复制代码
import time

print(time.time())#当前时间
    #1525245495.8187146

print(time.localtime())
print(time.localtime(time.time()))#与上一句等价
    #简单可读形式
    #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=15, tm_min=18, tm_sec=15, tm_wday=2, tm_yday=122, tm_isdst=0)

print(time.asctime( time.localtime(time.time())))
# 格式化成 Wed May  2 15:18:15 2018形式
#Wed May  2 15:18:15 2018

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 
# 格式化成2018-05-02 15:18:15形式

print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) 
# Wed May 02 15:18:15 2018

a = "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
复制代码

例子二,计算时间间隔:

复制代码
def calc_time(timeStr):
    #timeStr = '2017-3-7 23:59:00'  时间格式
    timeArray = time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")
            #strptime 方法可以将一个时间字符串转成 struct_time
    timestamp = time.mktime(timeArray)
            #用 mktime 转成 时间戳
    return int(timestamp-time.time())
复制代码

未完待续......

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多