1、time模块
time.time() :返回时间戳,是当前时间到GTX时间的秒数:1523600831.59
time.localtime():返回一个时间结构struct_time:
struct_time(tm_year=2015, tm_mon=4, tm_mday=24,
tm_hour=14, tm_min=17, tm_sec=26,
tm_wday=4, tm_yday=114, tm_isdst=0)
time.sleep(secs): 线程推迟指定时间, 以秒为单位
2、datetime模块
datetime模块下有三个类,分别是:
datetime.date:一个理想化的日期, 提供year, month, day属性
datetime.time:一个理想化的时间, 提供hour, minute, second, microsecond, tzinfo.
datetime.datetime:日期和时间的组合.提供year, month, day, hour, minute, second, microsecond,
datetime.timedelta类:用来计算二个datetime对象的差值的。
(1)date类
1)初始化: date(year,month,day),比如date(2018,02,03)
2)类方法:
date.today(): 得到当前日期,比如:2018-04-13
date(2018,02,03).weekday(): 返回day of the week. 星期一为0,星期日为6.
date(2018,02,03).isoweekday(): 返回day of the week. 星期一为1,星期日为7.
date.isocalendar(): 返回一个三元组, (ISO year, ISO week number, ISO weekday).
date.isoformat(): 返回 一个'YYYY-MM-DD'的字符串格式.
3)实例属性
date.year: 1 至 9999
date.month: 1 至 12
date.day: 1 至 n,每月的第几天
(2)datetime类
1)初始化:date(year,month,day,hour,minute,second),比如datetime(2018,02,02,11,12,12)
2)类方法:
datetime.today(): 返回当前本地datetime.
datetime.now(): 返回当前本地日期和时间,这个方法和today()类似.
datetime.combine(date, time): 根据date和time返回一个新的datetime.
datetime.date(): 返回相同年月日的date对象.
datetime.time(): 返回相同时分秒微秒的time对象.
datetime.weekday(): 返回day of the week. 星期一为0,星期日为6.
datetime.isoweekday(): 返回day of the week. 星期一为1,星期日为7.
datetime.isocalendar(): 返回一个三元组, (ISO year, ISO week number, ISO weekday).
datetime.isoformat(): 返回 一个'YYYY-MM-DD'的字符串格式.
3)实例属性
datetime.year: 1 至 9999
datetime.month: 1 至 12
datetime.day: 1 至 n,每月的第几天
datetime.hour: In range(24). 0 至 23
datetime.minute: In range(60).
datetime.second: In range(60).
(3)datetime.timedelta类:用来计算二个datetime对象的差值的。
1)计算上个月最后一天
>>> today = datetime.date.today()
>>> today
datetime.date(2017, 3, 22)
>>> mlast_day = datetime.date(today.year, today.month, 1) - datetime.timedelta(1)
>>> mlast_day
datetime.date(2017, 2, 28)
2)计算当前时间向后8个小时的时间
>>> d1 = datetime.datetime.now()
>>> d2 = d1 + datetime.timedelta(hours = 8)
>>> d2
datetime.datetime(2017, 3, 23, 1, 10, 37, 182240)
可以计算: 天(days), 小时(hours), 分钟(minutes), 秒(seconds), 微秒(microseconds).
3)计算上周一和周日的日期
today = datetime.date.today()
>>> today
datetime.date(2017, 3, 23)
>>> today_weekday = today.isoweekday()
>>> last_sunday = today - datetime.timedelta(days=today_weekday)
>>> last_monday = last_sunday - datetime.timedelta(days=6)
>>> last_sunday
datetime.date(2017, 3, 19)
>>> last_monday
datetime.date(2017, 3, 13)
(4)计算时间差,可以查看天(days), 秒(seconds):
>>> start_time = datetime.datetime.now()
>>> time.sleep(2)
>>> end_time = datetime.datetime.now()
>>> (end_time - start_time).seconds # 2秒
>>>date1= date(2018,02,03)
>>>date2 = date(2018,03,03)
>>>(date2 - date1).days # 28天