Python-时间模块

一、time模块

先介绍一下要用到的几种时间表示方法。

(1)时间戳:指的是从unix元年到现在过了多少秒,如下图运行结果的第

(2)时间元组:下图中,最后2行的命令,输出的就是时间元组格式。

(3)自己格式化好的时间,也就是下图运行结果的第二条,可以自己定义时间的显示格式。

常用的如下:

 

时间戳和格式化好的时间相互转换,需要一个桥梁,就是时间元组。

例1:把时间戳转化成格式化好的时间,显示的格式为:年-月-日 时:分:秒。

分析:第一步应该把时间戳转化为时间元组,也就是使用time.localtime()。第二步,把时间元组转化为格式化好的时间,也就是使用time.strftime()

import time
def timestamp_to_format(timestamp = None,format = '%Y-%m-%d %H:%M:%S'):
    # 1、默认返回当前格式化好的时间
    # 2、转入时间戳的话,把时间戳转化为格式化好的时间,返回
    if timestamp:
        time_tuple = time.localtime(timestamp)
        res = time.strftime(format,time_tuple)
    else:
        res = time.strftime(format)#默认取当前时间
    return res

result = timestamp_to_format()
print(result)

例2:把格式化好的时间转化为时间戳。

分析:先把格式化好的时间转化为时间元组,再把时间元组转化为时间戳。

import time
def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):
    if str: #如果传了时间的话
        tp = time.strptime(str,format) #格式化好的时间,转成时间元组
        res = time.mktime(tp)#再转成时间戳
    else:
        res = time.time()  #默认取当前的时间戳
    return int(res)

result = strToTimestamp(str= '2018-5-3 19:47:32',format='%Y-%m-%d %H:%M:%S')
print(result)

二、datetime模块

运行结果为:

其中,datetime.timedelta()括号里可选的有weeks,days,minutes,seconds,如:

 

posted @ 2018-05-03 19:56  wind1004  阅读(148)  评论(0编辑  收藏  举报