1 首先介绍time模块,因为简单
python 自带模块
本人使用time模块,只使用两个函数
time函数和sleep函数
import time
a. time.time() 函数 返回unix时间 常用作两个时间差的计算
b. time.sleep() 休眠多久,精度为子秒(subsecond)
In [90]: t1 = time.time()
In [91]: t1
Out[91]: 1461400225.877932
In [92]: time.sleep(2)
In [93]: t2 = time.time()
In [94]: t2 - t1
Out[94]: 24.2673659324646
2 其他处理时间的场景,本人都是使用datetime模块
python 自带
from datetime import datetime
常用时间场景 #获取当前时间In [95]: from datetime import datetime
In [96]: now = datetime.now()
#注意类型,时间之间的计算一定要是时间类型,即相同类型之间可以加减In [97]: type(now)
Out[97]: datetime.datetime
In [98]: now
Out[98]: datetime.datetime(2016, 4, 23, 16, 33, 0, 143269)
a. 常用获取 当前的年份,月份,日期,时,周(注意周的数值,0-6 0表示周一,依次类推)
In [116]: year, month, today, hour, week = (now.year, now.month, now.day, now.hour, now.weekday())
In [117]: year, month, today, hour, week
Out[117]: (2016, 4, 23, 16, 5)
b. ctime()函数 返回可读的字符串格式In [118]: now.ctime()
Out[118]: 'Sat Apr 23 16:33:00 2016'
c. strftime() 函数 将datetime时间格式,转换成为指定的字符串格式In [121]: now.strftime('%Y-%m-%d')
Out[121]: '2016-04-23'
返回昨天的unix时间now= datetime.now()
yesterday = now - timedelta(1)
yest_clock = (datetime.now() -timedelta(1)).strftime('%s')
d. strptime() 函数,将字符串模式的时间,转化成为datetime格式In [123]: datetime.strptime('20160101','%Y%m%d')
Out[123]: datetime.datetime(2016, 1, 1, 0, 0)
3 timedelta
来自datetime模块
from datetime import timedelta
作用计算datetime类型时间的一个差值(得到或将来的一个)
常用获取前一天的datetime时间In [129]: now
Out[129]: datetime.datetime(2016, 4, 23, 16, 33, 0, 143269)
In [130]: now - timedelta(1)
Out[130]: datetime.datetime(2016, 4, 22, 16, 33, 0, 143269)
获取一个小时之前的时间In [134]: now
Out[134]: datetime.datetime(2016, 4, 23, 16, 33, 0, 143269)
一秒前,一小时前,一天前,一分中之前
但是没有一年前,一个月前勒(这个原因你能想明白的)In [158]: now - timedelta(seconds=1)
Out[158]: datetime.datetime(2016, 4, 23, 16, 32, 59, 143269)
In [159]: now - timedelta(seconds=1)
Out[159]: datetime.datetime(2016, 4, 23, 16, 32, 59, 143269)
In [160]: now - timedelta(hours=1)
Out[160]: datetime.datetime(2016, 4, 23, 15, 33, 0, 143269)
In [161]: now - timedelta(days=1)
Out[161]: datetime.datetime(2016, 4, 22, 16, 33, 0, 143269)
In [162]: now - timedelta(minutes=1)
Out[162]: datetime.datetime(2016, 4, 23, 16, 32, 0, 143269)
获取上周
In [4]: from datetime import datetime
In [5]: now = datetime.now()
In [6]: from datetime import datetime, timedelta
In [7]: now = datetime.now()
In [8]: last_week = now -timedelta(weeks=1)
In [9]: now
Out[9]: datetime.datetime(2016, 5, 4, 21, 39, 35, 424140)
In [10]: last_week
Out[10]: datetime.datetime(2016, 4, 27, 21, 39, 35, 424140)
In [12]: now.weekday()
Out[12]: 2
注意:星期npython中代表
一0
二1
三2
四3
五4
六5
日6