21总 time模块

1.复习;

import time
 import datetime

================time=================
时间格式:时间戳, struct_time

1.获取当前时间(时间戳)

时间戳:一个时间到1970年1月1日0点0分0秒的时间差。单位是秒

a. 方便对时间进行加密(保存时间前进行额外的运算)
b. 节省内存(数据库) 1540518823.7941608(8字节)

time1 = time.time()

print(time1, type(time1))

1字节 = 8位
2^64-1
print(2**64 - 1)

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)

from datetime import datetime, time, date

date: 可以表示年月日
time类:可以表示时分秒
datetime类:可以表示年月日时分秒

1.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)

你可能感兴趣的:(21总 time模块)