时间函数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)

  

  

 

posted @ 2017-08-16 16:43  炉山假面目  阅读(201)  评论(0编辑  收藏  举报