01-时间模块
# -*- coding: utf-8 -*-
# @Author: KingJX
# @Date : 2018/8/9
模块中主要包含处理年月日时分秒对应的时间(着重时分秒)
import time
专门用来处理年月日
import datetime
-
1.获取当前时间
- 时间戳: 就是从格林威治时间(1970/1/1 0:0:0)到当前时间的时间差(单位是秒)
- 存时间以时间戳的形式去存, 可以节省内存空间(一个浮点数内存是4或8个字节)
- 自带对时间加密的功能
time1 = time.time()
print(time1, type(time1))
-
2. 将时间戳转换为struct_time
localtime(seconds)
- seconds:
- a. 不传参, 就是将当前时间对应的时间戳转换成struct_time
- b. 传参, 就是将指定的时间转换成struct_time
- seconds:
time1 = time.localtime()
print(time1)
将struct_time转换成时间戳
mktime(结构时间)
"""2018-8-31 23:30:55"""
strc = time.strptime('2018-12-31 23:30:55', '%Y-%m-%d %H:%M:%S')
t1 = time.mktime(strc)
# 时间加一个小时
t1 += 60*60
print('===', time.localtime(t1))
struct_time结构:
- tm_year: 年
tm_mon: 月
tm_mday: 日
tm_hour: 时
tm_min: 分
tm_sec: 秒
tm_wday:星期(0-6 -> 周一 -> 周日)
tm_yday: 当前是当年第几天
tm_isdst: 是否是夏令时
print(time1.tm_year, time1.tm_mon, time1.tm_mday)
s1 = time.localtime(1533797052.1918488)
print(s1)
-
3. 时间转换
strftime(时间格式, 时间)
将时间以指定格式转换为字符串
time_str = time.strftime('%Y\%m\%d %H:%M:%S', time.localtime())
print(time_str)
strptime(需要转换的字符串, 時間格式)
将时间字符转换为相应的struct_time
s2 = time.strptime('今天是2018-8-5', '今天是%Y-%m-%d')
print(s2)
-
4. 延迟
"""
sleep(秒)
可以让线程阻塞指定的时间
"""
time.sleep(5)
02-dataTime模块
import datetime
if __name__ == '__main__':
# 1.日期类(date) -> 只能表示年月日
"""1.类的字段"""
# 最小的日期
print(datetime.date.min)
# 最大日期
print(datetime.date.max)
# 最小单位
print(datetime.date.resolution)
"""2.类方法"""
# 获取当前日期
today = datetime.date.today()
print(today)
#将时间戳转换成日期
today2 = datetime.date.fromtimestamp(0)
print(today2)
date1 = datetime.date.fromordinal(10)
print(date1)
"""3.对象属性"""
print(today.year, today.month, today.day)
"""4.对象方法"""
# 1.获取指定日期对应的星期
print(today.isoweekday())
# 2.将指定的日期转换成指定格式的字符串日期
print(today.strftime('%Y\%m\%d'))
# 3.将日期转换成struct_time
print(today.timetuple())
# 4.创建日期对象
print(datetime.date(2018, 12, 24))
print('★★★★★★★★★★★★★★')
times = datetime.datetime.today()
print(times.hour,times.microsecond)
print(times.now(),'===',times.fromordinal(10))
# datetime.timedelta