1.時間模組
# 主要包含處理年月日時分秒對應的時間(著重時分秒)
import time
# 專門處理年月日
import datetime
if __name__ == '__main__':
# 1.獲取當前時間
"""
時間戳:就是從格林威治時間(1970年1月1日0:0:0)到當前時間的時間差(單位是秒)
# '2010-10-10 12:10:29'
1. 存時間以時間戳的形式去存,可以節省記憶體空間(一個浮點數的記憶體是4/8個位元組,存一個字串一個字元佔2個位元組)
2. 自帶對時間加密的功能(加密更方便)
"""
time1 = time.time()
print(time1, type(time1))
# 2. 將時間戳轉換成struct_time
"""
localtime(seconds)
引數seconds:a.不傳參,就是將當前時間對應的時間戳轉換成struct_time
b.傳參,就是將指定的時間轉換成struct_time
"""
time1 = time.localtime()
print(time1)
"""
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)
# 將時間戳轉換成struct_time
struct1 = time.localtime(1000000000)
print(struct1)
# 2.1 將struct_time抓換成時間戳
"""
mktime(結構時間)
"""
"""2018-12-31 23:30:40"""
strc = time.strptime('2018-12-31 23:30:40','%Y-%m-%d %H:%M:%S')
time1 = time.mktime(strc)
# 時間加一個小時
time1 += 60*60
print('==',time.localtime(time1))
# 3.時間的格式轉換
"""
strftime(時間格式,時間)
將時間以指定的格式轉換成字串
"""
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(time_str)
"""
strptime(需要轉換的字串,時間格式)
將時間字串轉換成相應的struct_time
"""
struct_time = time.strptime('今天是2018年8月5號', '今天是%Y年%m月%d號')
struct_time = time.strptime('2018-7-20', '%Y-%m-%d')
print(struct_time)
# 4.延遲
"""
sleep(秒)
可以讓執行緒阻塞指定的時間
"""
time.sleep(10)
**2.dateTime模組
import datetime
if __name__ == '__main__':
# ============= 1.日期類(date) =========-- 只能表示年月日
"""1.類的欄位"""
# 最小日期
print(datetime.date.min, type(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)
"""2.物件屬性"""
# 年(year)、月(month)、日(day)屬性
print(today.year, type(today.year))
print(today.month)
print(today.day)
"""3.物件方法"""
# 1. 獲取指定日期對應的星期
print(today.isoweekday())
# 2. 將指定日期轉換成指定格式的字串日期
print(today.strftime('%Y年%m月%d日 周%w'))
# 3. 將日期轉換成struct_time
print(today.timetuple())
"""4.建立日期物件"""
print(datetime.date(2017, 9, 10))
# ========datetime類=========
"""1.類方法"""
# 1. 將時間戳轉換成datetime
print(datetime.datetime.fromtimestamp(0))
# 2. now(時區): 獲取當前時間
print(datetime.datetime.now())
now_dt = datetime.datetime.now()
# 3. 將時間字串按指定的格式轉換成datetime物件
print(datetime.datetime.strptime('2018-8-10 10:30:40', '%Y-%m-%d %H:%M:%S'))
"""2.物件方法"""
# 1.將datatime物件轉換成struct_time
print(now_dt.timetuple())
# 2.獲取datatime中時分秒的部分
print(now_dt.time())
# 3.獲取datetime中日期的部分
print(now_dt.date())
# 4.將datetime轉換成時間戳
print(now_dt.timestamp())
# ============3.timedelta方法==========
# 日期加一天
print(today + datetime.timedelta(days=100))
print(now_dt + datetime.timedelta(days=1))
# 日期減兩天
print(today + datetime.timedelta(days=-2))
print(now_dt + datetime.timedelta(days=-2))
# 時間增加50分鐘
print(now_dt + datetime.timedelta(minutes=50))
# 時間增加1000毫秒
print(now_dt + datetime.timedelta(microseconds=1000))