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