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())

浙公网安备 33010602011771号