在python中通常有三种表示时间的方式:
- 时间戳(timestamp) 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
- 格式化的时间字符串(Format String)
- 结构化的时间(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
三种时间的表现形式:
import time print(time.time())#1561034614.9590108时间戳 print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2019-06-20 20:44:02' print(time.localtime()) #本地时区的struct_time
计算机识别的只有时间戳格式的时间,所以为了方便人们的认识,需要时间之间的相互转换。
按照上图进行时间的转换:
import time # print(time.time())#1561034614.9590108时间戳 # print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2019-06-20 20:44:02' # print(time.localtime()) #本地时区的struct_time ###将当前时间戳转换为结构化时间### print(time.localtime(time.time())) #localtime内部传入时间戳 ###将结构化时间转换为当前时间戳### print(time.mktime(time.localtime())) ###将结构化时间转换为字符串时间### print(time.strftime("%Y-%m-%d %X", time.localtime()))#2019-06-20 21:06:31 ###将字符串时间转换为结构化时间### print(time.strptime('2019-06-20 21:06:31', '%Y-%m-%d %X'))
""" 1、today函数 返回一个当前本地时间的datetime.datetime类的对象。 2、now([tz]) 不指定时区,返回一个当前本地时间的datetime.datetime类的对象。指定时区,返回指定时区的时间 3、fromtimestamp(timestamp[,tz]) 给定一个时间戳,返回指定时区的datetime.datetime类的对象。不指定时区,返回本地时区的datetime类对象 4、strptime("时间字符串",format) 将格式时间字符串转换为datetime对象 5、Datetime类—year、month、day、hour、minute、second属性 """ import datetime import time #获取时间以及转换 print(datetime.datetime.today()) # print(datetime.datetime.now()) #返回 2019-06-21 09:25:19.535571 print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2019-06-21 print(datetime.datetime.now() ) print(datetime.datetime.strptime("2019-06-21 09:25:19","%Y-%m-%d %H:%M:%S")) #时间加减 print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 #时间替换 c_time = datetime.datetime.now() print(c_time.replace(minute=3,hour=2))