#和时间相关的操作
import time
time.sleep(30) #以秒为单位
# 格式化好的时间 20180915 14:08:53
# 时间戳为从计算机诞生那天到现在过了多少秒
res = time.strftime('%Y-%m-%d %H:%M:%S') #取当前的格式化日期,Y大写为2018,y小写为18,时间的分钟M为大写
--------------------------------------------------------------------------------
res = time.time()#获取当前的时间戳,小数点后面为毫秒
print(int(res)) #取整后,去除毫秒
--------------------------------------------------------------------------------
#先把格式化好的时间转成时间元组,time.strptime
#以1992-01-02做例子
time_tuple = time.strptime('1992-01-02','%Y-%m-%d')#把格式化好的时间转成时间元组,前后格式要统一
print(time.mktime(time_tuple))#再把时间元组装换成时间戳
time_tuple = time.strptime('1992-01-02 19:23:59','%Y-%m-%d %H:%M:%S')#这个是有分钟的例子
--------------------------------------------------------------------------------
定义一个转时间戳的函数:
def str_to_timestamp(time_str=None,format='%Y%m%d%H%M%S'):
#格式化好的时间转时间戳的
#不传参数的话返回当前的时间戳
if time_str:
time_tuple = time.strptime(time_str, format) # 把格式化好的时间转成时间元组
timestamp = time.mktime(time_tuple)
else:
timestamp = time.time()
return int(timestamp)
print(str_to_timestamp()) #使用当前时间
print(str_to_timestamp('20391123175123')) #使用默认格式
print(str_to_timestamp('2013-08-09','%Y-%m-%d')) #定义新的格式
--------------------------------------------------------------------------------
#时间戳转格式化好的时间
#先把时间戳转成时间元组
res=time.gmtime(23453212) #将随便一个时间戳转为格式化好的时间
print(res)
res=time.gmtime(23453212)
res2 = time.strftime('%Y-%m-%d %H:%M:%S',res) #以指定格式显示
print(res2)
res = time.gmtime(time.time())#是把时间戳转时间元组的,标准时区,格林尼治时间
res2 = time.strftime('%Y-%m-%d %H:%M:%S',res)
print(res2)
res = time.localtime(time.time())#是把时间戳转时间元组的,当前时区
res2 = time.strftime('%Y-%m-%d %H:%M:%S',res)
print(res2)
--------------------------------------------------------------------------------
定义一个时间戳转格式化时间的函数:
def timestamp_to_strtime(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
#这个函数是用来把时间戳转成格式化好的时间
#如果不传时间戳的话,那么就返回当前的时间
if timestamp:
time_tuple = time.localtime(timestamp)
str_time = time.strftime(format,time_tuple)
else:
str_time = time.strftime(format)
return str_time
--------------------------------------------------------------------------------
#用当前的时间戳+50年的秒数,时间戳转成格式化好的时间
five = str_to_timestamp() + (365*50*24*60*60)
res = timestamp_to_strtime(five)
print('50年后的时间是',res)
50年前就是str_to_timestamp()- (365*50*24*60*60)