随便写点时间相关的模块

一、time

>>> time.time()
1446193516.198661

  返回的是一个float类型的数值,计算从1970年1月1日0时0分0秒到当前时间的秒偏移。

>>> time.localtime()
time.struct_time(tm_year=2015, tm_mon=10, tm_mday=30, tm_hour=16, tm_min=25, tm_sec=45, tm_wday=4, tm_yday=303, tm_isdst=0)
>>> time.localtime().tm_year
2015
>>> time.localtime(144613352)
time.struct_time(tm_year=1974, tm_mon=8, tm_mday=2, tm_hour=2, tm_min=22, tm_sec=32, tm_wday=4, tm_yday=214, tm_isdst=0)

  返回的是time.struct_time类型的元组,可以通过关键字引用。也可以手动输入秒偏移量。

>>> time.gmtime()
time.struct_time(tm_year=2015, tm_mon=10, tm_mday=30, tm_hour=8, tm_min=32, tm_sec=2, tm_wday=4, tm_yday=303, tm_isdst=0)

  与localtime的使用方法一样,返回的是0时区的时间,即东八区减8小时。

>>> t = time.localtime()
>>> time.mktime(t)
1446194114.0

  将strct_time转换成时间戳。

>>> time.sleep(3)

  即sleep。

>>> time.clock()

  上一次调用到现在运行的时间。

>>> time.asctime()
'Fri Oct 30 16:45:20 2015'

  产生这样的时间格式,同样也支持自传秒数。

>>> time.ctime(time.time())
'Fri Oct 30 16:48:17 2015'

  将时间戳转换成asctime模式。

>>> time.strftime("%Y-%m-%d %X", time.localtime())
'2015-10-30 16:51:36'

  格式化字符串,可以将str_time或者时间元组格式化成自己需要的时间模式,类似date,具体的就不细写了。


二、datetime

>>> datetime.datetime.now()
datetime.datetime(2015, 12, 8, 23, 38, 41, 653512)
>>> timenow = datetime.datetime.now()
>>> type(timenow)
<type 'datetime.datetime'>
>>> timenow.day
8
>>> timenow.hour
23

  获得当前的datetime,可以索引对应的值。

>>> datetime.date.today()
datetime.date(2015, 12, 8)
>>> datetoday = datetime.date.today()
>>> datetoday
datetime.date(2015, 12, 8)
>>> datetoday.year
2015

  获得当前的date,可以索引对应的值。

>>> datetime.datetime.now()
datetime.datetime(2015, 12, 8, 23, 43, 39, 820130)
>>> datetime.datetime.now() + datetime.timedelta(days=1)
datetime.datetime(2015, 12, 9, 23, 44, 19, 835489)
>>> datetime.datetime.now() - datetime.timedelta(days=3)
datetime.datetime(2015, 12, 5, 23, 44, 28, 124337)

  明天,三天前。

>>> (datetime.datetime(2015,12,9,0,0,0) - datetime.datetime.now()).total_seconds()
750.895672

  2个时间点的时间差。


三、几种关系之间的转换

datetime->string

>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

'2015-12-08 23:53:17'

string->datetime

>>> datetime.datetime.strptime("2015-12-08 22:22:22","%Y-%m-%d %H:%M:%S")
datetime.datetime(2015, 12, 8, 22, 22, 22)


datetime->timetuple

>>> datetime.datetime.now().timetuple()
time.struct_time(tm_year=2015, tm_mon=12, tm_mday=8, tm_hour=23, tm_min=58, tm_sec=23, tm_wday=1, tm_yday=342, tm_isdst=-1)

timetuple->datetime

需要从timetuple=>timestamp=>datetime


datetime->date

>>> datetime.datetime.now().date()
datetime.date(2015, 12, 9)

date->datetime

>>> today = datetime.date.today()
>>> datetime.datetime.combine(today,datetime.time())
datetime.datetime(2015, 12, 9, 0, 0)

timestamp->datetime

>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2015, 12, 9, 0, 7, 56, 176283)

datetime->timestamp

>>> now = datetime.datetime.now()
>>> timestamp = time.mktime(now.timetuple())
>>> timestamp
1449590935.0


你可能感兴趣的:(time)