1.復(fù)習(xí);
import time
import datetime
================time=================
時(shí)間格式:時(shí)間戳, struct_time
1.獲取當(dāng)前時(shí)間(時(shí)間戳)
時(shí)間戳:一個(gè)時(shí)間到1970年1月1日0點(diǎn)0分0秒的時(shí)間差。單位是秒
a. 方便對(duì)時(shí)間進(jìn)行加密(保存時(shí)間前進(jìn)行額外的運(yùn)算)
b. 節(jié)省內(nèi)存(數(shù)據(jù)庫(kù)) 1540518823.7941608(8字節(jié))
time1 = time.time()
print(time1, type(time1))
1字節(jié) = 8位
2^64-1
print(2**64 - 1)
2.localtime
localtime(): 獲取當(dāng)前時(shí)間(struct_time)
localtime(時(shí)間戳): 將指定的時(shí)間戳轉(zhuǎn)換成struct_time
struct_time:
tm_year -> 年
tm_mon -> 月
tm_mday -> 日
tm_hour -> 時(shí)
tm_min -> 分
tm_sec -> 秒
tm_wday -> 星期(值的范圍是06,分別對(duì)應(yīng)周一周天)
tm_yday -> 當(dāng)前時(shí)間是今年的第幾天
tm_isdst -> 是否是夏令時(shí)
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: 將時(shí)間(struct_time)以指定的格式轉(zhuǎn)換成字符串
strftime(格式, 時(shí)間) --> 返回時(shí)間字符串
格式:是時(shí)間字符串(含有時(shí)間格式符的字符串)
%Y --> 年
%m --> 月(數(shù)字)
%d --> 日
%H --> 時(shí)
%M --> 分
%S --> 秒
%a -- 星期(英文縮寫(xiě))
%A --> 星期(英文)
%h --> 月(英文縮寫(xiě))
"""
str_time1 = time.strftime('%Y年%m月%d日 %H:%M:%S %a', time2)
print(str_time1)
4.strptime: 將字符串轉(zhuǎn)換成時(shí)間
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類(lèi):可以表示時(shí)分秒
datetime類(lèi):可以表示年月日時(shí)分秒
1.date類(lèi)
對(duì)象屬性:day,month,year
date1 = date(2018, 10, 26)
print(date1.year, date1.month, date1.day)
類(lèi)方法:
fromtimestamp(時(shí)間戳) --> 將時(shí)間戳轉(zhuǎn)換成日期(date對(duì)象)
tody() --> 獲取當(dāng)前日期
date2 = date.fromtimestamp(100)
print(date2, type(date2))
date3 = date.today()
print(date3, type(date3))
# date4 = date.fromordinal(366)
# print(date4, type(date4))
對(duì)象方法:
ctime() --> 將日期對(duì)象以 '%a %h %d %H:%M:%S %Y' 格式轉(zhuǎn)換成字符串
strftime(時(shí)間格式字符串) --> 將日期對(duì)象以指定的格式轉(zhuǎn)換成字符串
timetuple() --> 將日期轉(zhuǎn)換成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()
將時(shí)間轉(zhuǎn)換成時(shí)間戳
print(datetime4.timestamp())
============時(shí)間的加減操作============
date對(duì)象和datetime的對(duì)象都支持加減操作
date對(duì)象 + timedelta對(duì)象
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)