在Python中,通常有这几种方式来表示时间:
- 时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
- 格式化的时间字符串(Format String)
- 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
他们之间可以转换
time.localtime() 如果不添加秒,默认是time.time() 元组 time.localtime 默认可以不填写
time.gmtime() utc 时间 元组 time.strftime("%Y-%m-%d %X", time.localtime()) 字符串
时间戳 ----------------------------------------> 结构化时间 -------------------------------------> 格式化化时间
<--------------------------------------- <--------------------------------------
time.mktime() 浮点 time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X') 元组
结构化和时间戳都 可以 转化成 'Sun Jun 20 23:21:05 1993' 这种形式的字符串.
传参 结构化 asctime([t]) 如果没有参数,将会将time.localtime()作为参数传入
传参 时间戳 ctime([secs])None的时候,将会默认time.time()为参数.
datetime 模块
1 #时间加减 2 import datetime 3 4 # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925 5 #print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19 6 # print(datetime.datetime.now() ) 7 # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 8 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 9 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 10 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 11 12 13 # 14 # c_time = datetime.datetime.now() 15 # print(c_time.replace(minute=3,hour=2)) #时间替换 16 17 datetime模块