时间模块
import time #导入模块time
import datetime #导入模块datetime
================time=================
时间格式:时间戳, struct_time
1.获取当前时间(时间戳)
时间戳:一个时间到1970年1月1日0点0分0秒的时间差。单位是秒
a. 方便对时间进行加密(保存时间前进行额外的运算)
b. 节省内存(数据库) 1540518823.7941608(8字节)
time1 = time.time()
print(time1, type(time1))
2.localtime
localtime(): 获取当前时间(struct_time)
localtime(时间戳): 将指定的时间戳转换成struct_time
struct_time:
tm_year -> 年
tm_mon -> 月
tm_mday -> 日
tm_hour -> 时
tm_min -> 分
tm_sec -> 秒
tm_wday -> 星期(值的范围是06,分别对应周一周天)
tm_yday -> 当前时间是今年的第几天
tm_isdst -> 是否是夏令时
time2 = time.localtime()
print(time2, time2.tm_year, time2.tm_mon)
time3 = time.localtime(100)
print('%d-%d-%d' % (time3.tm_hour, time3.tm_min, time3.tm_sec))
3.strftime: 将时间(struct_time)以指定的格式转换成字符串
strftime(格式, 时间) --> 返回时间字符串
格式:是时间字符串(含有时间格式符的字符串)
%Y --> 年
%m --> 月(数字)
%d --> 日
%H --> 时
%M --> 分
%S --> 秒
%a -- 星期(英文缩写)
%A --> 星期(英文)
%h --> 月(英文缩写)
str_time1 = time.strftime('%Y年%m月%d日 %H:%M:%S %a', time2)
print(str_time1)
4.strptime: 将字符串转换成时间
strptime(字符串, 格式)
time4 = time.strptime('2018-06-13 01:34:02', '%Y-%m-%d %H:%M:%S')
print(time4)
====================datetime.datetime======
from datetime import datetime, time, date
#从datetime模块中导入datetime,time,date类
date: 可以表示年月日
time类:可以表示时分秒
datetime类:可以表示年月日时分秒
date类
对象属性:day,month,year
date1 = date(2018, 10, 26)
print(date1.year, date1.month, date1.day)
类方法:
fromtimestamp(时间戳) --> 将时间戳转换成日期(date对象)
tody() --> 获取当前日期
"""
date2 = date.fromtimestamp(100)
print(date2, type(date2))
date3 = date.today()
print(date3, type(date3))
# date4 = date.fromordinal(366)
# print(date4, type(date4))
对象方法:
ctime() --> 将日期对象以 '%a %h %d %H:%M:%S %Y' 格式转换成字符串
strftime(时间格式字符串) --> 将日期对象以指定的格式转换成字符串
timetuple() --> 将日期转换成struct_time
weekday()/isoweekday() --> 获取星期值
t = date3.ctime()
print(t, type(t))
t = date3.strftime('%Y/%m/%d')
print(t)
t = date3.timetuple()
print(t)
t = date3.weekday()
print(t)
t = date3.isoweekday()
print(t)
datetime4 = datetime.now()
# 将时间转换成时间戳
print(datetime4.timestamp())
============时间的加减操作============
date对象和datetime的对象都支持加减操作
date对象 + timedelta对象
from datetime import timedelta
date1 = date(2018, 1, 1)
print(date1)
new_date = date1 - timedelta(days=1)
new_date = date1 + timedelta(days=10)
print(new_date)
date2 = datetime(2018, 12, 31, hour=23, minute=59)
print(date2)
new_date = date2 + timedelta(minutes=1)
print(new_date)