python的time模块
在现实中,我们用来表示时间的模样一般有两种表示方法:
1、格式化好的时间。比如 2018-12-15
2、时间戳的格式。即从计算机诞生以来到此时此刻过了多少秒的表示方法
往往在代码的世界里面,我们需要用到时间戳去做一些需求,也需要在格式化好的时间和时间戳之间来回荡漾。那么就可能需要用到如下几个方法:
1、获取当前格式化好的时间
2、获取当前时间的时间戳
3、格式化好的时间转成时间戳
4、时间戳换换成格式化好的时间
import time
''''
1、格式化好的时间 20180915 14:08:53
2、时间戳:从计算机诞生那一天,到现在过了多少秒
'''
# time.sleep(60) 等待60s
'''获取当前时间,用字符串format格式 %y %m %d'''
print(time.strftime('%y-%m-%d'))#小写的%y18-12-13
print(time.strftime('%Y-%m-%d'))#小写的%Y2018-12-13
#
#
# print(time.strftime('%m'))
#
# print(time.strftime('%H:%M:%S')) #16:58:42 获取当前时间
#
# print(time.strftime('%H %M %S')) #16 59 24
'''获取当前时间戳'''
# print(time.time()) #获取当前时间的时间戳 1544691598.5518456,精确到毫秒
#
# print(time.time()) #返回一个float类型的数据,要用的话,需要强制转换
# print(type(int(time.time())))
'''正常格式化的时间和时间戳之间的转换'''
'''时间戳-->格式化好的,先转换成时间元组'''
#时间元组
# time_tuple = time.strptime('2018-01-03','%Y-%m-%d') #把格式化好的时间转换成时间元组
# print(time_tuple) #time.struct_time(tm_year=1992, tm_mon=1, tm_mday=3, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=3, tm_isdst=-1)
#把时间元组转换成时间戳
# new_time = time.mktime(time_tuple) #694368000.0转换成时间戳
# print(new_time)
# def str_to_timestamp(string=None,format='%Y%m%d%H%M%S'): #使用默认参数
#
# if string:
# time_tuple=time.strptime(string,format) #把格式化的时间转换成时间元组
# res = time.mktime(time_tuple) #把元组转换成time,即时间戳
#
# else:
# res=int(time.time())
# return int(res)
# print(str_to_timestamp()) #1544630400.0
'''时间戳转换成时间元组然后转换成格式化时间'''
# timesmaple1= 2141343134 #定义一个时间戳格式的时间
#
# time_to_tuple=time.gmtime(timesmaple1) #获取时间戳的时间元组
#
# ress=time.strftime('%Y-%m-%d',time_to_tuple) #将时间元组转换成格式化时间
#
# print(ress)
def timestamp_to_strtime(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
if timestamp:
#将传进来的时间戳转换成时间元组
timestamp_tuple = time.localtime(timestamp)
#将时间元组转换成格式化好的时间
str_time = time.strftime(format,timestamp_tuple)
else:
str_time=time.strftime(format)
return str_time
'''
总结:
获取当前时间的格式化时间 time.strftime(format,[时间元组])
获取当前时间的时间戳格式的时间: time.time()
格式化的时间转换成时间元组: time.strptime(string,format) res =time.strptime('2012-10-12 20:23:22','%Y-%m-%d %H:%M:%S')
将格式化的时间的元组转换成时间戳 time.mktime(res)
将时间戳转换成时间元组: timesmaple = time.gmtime(141341215411) gmtime()会把时间转换成标准时间 +0时区
timesmple = time.localtime(time.time()) 获取当前地址的当前时间戳
将时间戳的时间元组转换成格式化的时间 time.striftime('%Y-%m_%d',timesmaple)
'''
res = time.localtime(time.time())
res2=time.strftime('%Y-%m-%d %H:%M:%S',res)
print(res2)