时间函数time和datetime
1. 时间戳
>>> import time >>> time.time() #以秒为单位,从1970年1月1号开始计数 1502869080.452242 >>> 1502869080/3600/24/365+1970 2017.6556659056316 >>>
2. 格式化字符串
>>> time.ctime() #可传入时间戳转换为字符串格式 'Wed Aug 16 16:44:14 2017' >>> time.asctime() #可传入元组转换为字符串格式 'Wed Aug 16 16:44:14 2017'
3. 格式化元组(tuple)
>>> time.localtime() #time.gmtime() 获取到的是UTC标准时间 time.struct_time(tm_year=2017, tm_mon=8, tm_mday=16, tm_hour=15, tm_min=40, tm_sec=40, tm_wday=2, tm_yday=228, tm_isdst=0)
这里的意思是2017年8月16号15点40分40秒,星期三(0代表星期一),这一年中的第228天,isdst指的是时区,中国为东八区,UTC+8
东八区:
>>> time.timezone -28800 >>> 28800/3600 8.0
夏令时
>>> time.altzone -32400 >>> 32400/3600 9.0 >>> time.daylight #是否使用夏令时,0为不使用 0
时间形式转换:
1. 将时间戳转换为元组形式
>>> y = time.localtime(125452352) #传入时间戳进行转换 >>> y time.struct_time(tm_year=1973, tm_mon=12, tm_mday=23, tm_hour=7, tm_min=52, tm_sec=32, tm_wday=6, tm_yday=357, tm_isdst=0) >>> y.tm_year 1973 >>> y.tm_yday 357
2. 将元组形式转换为时间戳
>>> x = time.localtime() >>> x time.struct_time(tm_year=2017, tm_mon=8, tm_mday=16, tm_hour=16, tm_min=10, tm_sec=42, tm_wday=2, tm_yday=228, tm_isdst=0) >>> time.mktime(x) 1502871042.0
3. 将元组形式转换为字符串形式:strftime(format[, tuple]) -> string
>>> x = time.localtime() >>> x time.struct_time(tm_year=2017, tm_mon=8, tm_mday=16, tm_hour=16, tm_min=14, tm_sec=20, tm_wday=2, tm_yday=228, tm_isdst=0) >>> time.strftime("%Y-%m-%d %H:%M:%S",x) '2017-08-16 16:14:20'
4. 将字符串形式转换为元组形式:strptime(string, format) -> struct_time
>>> time.strptime('2017-08-16 16:14:20',"%Y-%m-%d %H:%M:%S") time.struct_time(tm_year=2017, tm_mon=8, tm_mday=16, tm_hour=16, tm_min=14, tm_sec=20, tm_wday=2, tm_yday=228, tm_isdst=-1)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
datetime:
>>> import datetime >>> datetime.datetime.now() #获取当前时间 datetime.datetime(2017, 8, 16, 16, 48, 46, 974990) >>> print(datetime.datetime.now()) 2017-08-16 16:49:27.637014 >>> datetime.datetime.now() + datetime.timedelta(3) #当前时间3天后 datetime.datetime(2017, 8, 19, 16, 51, 11, 105742) >>> datetime.datetime.now() + datetime.timedelta(-3) #当前时间3天前 datetime.datetime(2017, 8, 13, 16, 51, 18, 457366) >>> datetime.datetime.now() + datetime.timedelta(hours=3) #当前时间3小时后 datetime.datetime(2017, 8, 16, 19, 51, 44, 408461) >>> datetime.datetime.now() + datetime.timedelta(hours=-3) #当前时间3小时前 datetime.datetime(2017, 8, 16, 13, 51, 48, 864276) >>> datetime.datetime.now() + datetime.timedelta(minutes=3) #当前时间3分钟后 datetime.datetime(2017, 8, 16, 16, 55, 11, 158904) >>> datetime.datetime.now() + datetime.timedelta(minutes=-3) #当前时间3分钟前 datetime.datetime(2017, 8, 16, 16, 49, 14, 863194)
博主小学未毕业,请勿口喷!