python---时间模块

import  time
#格式化好的时间
#时间戳 从unix 元年到现在过了多少秒
# print(time.time())#当前的时间戳
# print(time.strftime('%Y-%m-%d %H:%M:%S'))#当前格式化好的时间,根据指定格式显示的

#时间元组
t=time.gmtime(234324234) #,标准时区
print(t)
t=time.localtime(234324234) #当前时区
print(t)
ret=time.strftime('%Y-%m-%d %H:%M:%S',t)#时间戳转格式化,格式规则
print(ret)


time.strftime("2021-10-1 19:23:00,%Y-%m-%d %H:%M:%S'") #格式化转时间戳
print(time.mktime(t))

#封装两个函数
def str_to_timestamp(string=None, format="%Y-%m-%d %H:%M:%S"): #格式化转成时间戳,for格式
if string: #str传了的话要转成时间戳
t = time.strptime(string, format)
return int(time.mktime(t)) #转成int类型
return int(time.time()) #走下面没有传str,传返回当前的时间戳


def timestamp_to_str(timestamp=None, format="%Y-%m-%d %H:%M:%S"): #时间戳转成格式化好的
if timestamp:
t = time.localtime(timestamp) # 当前时区
return time.strftime(format, t)
return time.strftime(format)

#练习 多少岁了
#1992
#2003
year = input("year:..")
if year.isdigit():
year = int(year)
cur_year = int(timestamp_to_str(format="%Y"))
print("你今年",cur_year - year)

#十天前的时间戳
cur_timestamp=str_to_timestamp()
before_timestamp=cur_timestamp-60*60*24*10 #+10天后的时间戳
ret=timestamp_to_str(cur_timestamp)
print(ret)


参考:

时间模块


4.1时间格式


1.时间戳:从计算机诞生到现在过去了多少秒


2.格式化好的时间:2021-05-12 16:59:59


4.2获取时间戳


time.time()


print(int(time.time()))

4.3获取格式化时间


time.strftime("格式")


print(time.strftime("%Y-%m-%d %H:%M:%S"))  #%Y 2021年份写全

 print(time.strftime("%y-%m-%d %H:%M:%S")) #%y:年份后两位

4.4时间戳与格式化时间相互转化:


1、时间元组


(1)时间戳转化为时间元组


标准时区:time.gmtime(时间戳)


time_tuple=time.gmtime(1621069593)

  当地时区:time.localtime(时间戳)


time_tuple=time.localtime(1621069593)

(2)格式化时间转化为时间元组


time.strptime("格式化好的时间","时间格式")


time_tuple=time.strptime('2021-05-15 17:06:33','%Y-%m-%d %H:%M:%S')

  


2.时间戳转化为格式化时间:time.strftime(格式,时间元组)


time_tuple=time.localtime(1621069593) 

print(time.strftime("%Y-%m-%d %H:%M:%S",time_tuple))
函数写法:

# 时间戳转化为格式化好的时间
def time_to_str(timestame=None,format="%Y-%m-%d %H:%M:%S"):
'''
:param timestame: 时间戳
:param format: 时间格式 %Y-%m-%d %H:%M:%S
:return: 返回的是格式化好的时间,如果不传时间戳,那么返回当前的时间
'''
if timestame:
time_tuple=time.localtime(timestame)
return time.strftime(format,time_tuple)
return time.strftime(format)
time_to_str(timestame=1621069593)

3.格式化好的时间转化为时间戳:tiime.mktime(时间元组)


print(int(time.mktime(time_tuple)))

函数写法:

# 格式好的时间转化为时间戳
def str_to_timestmap(s=None,format="%Y-%m-%d %H:%M:%S"):
'''
:param s: 格式化好的时间,比如2021-05-15 17:19:04
:param format: 时间格式
:return: 返回一个时间戳,如果不传是默认返回当前时间戳
'''
if s:
time_tuple=time.strptime(s,format)
return int(time.mktime(time_tuple))
return int(time.time())
 
posted @ 2021-10-15 14:05  王王的王  阅读(85)  评论(0)    收藏  举报