「關注我,和我一塊兒放下靈魂,讓靈魂去搬磚。」正則表達式
Python版本3.8.0,開發工具:Pycharm數據庫
時間模塊須要瞭解的三個概念:時間戳、時間元組、日期字符串編程
# 注:同一時間的三種不一樣顯示方式
# 時間戳
1574851524.1845107
# 時間元組
本地時間爲 : time.struct_time(tm_year=2019, tm_mon=11, tm_mday=27, tm_hour=18, tm_min=45, tm_sec=24, tm_wday=2, tm_yday=331, tm_isdst=0)
# 日期字符串
2019-11-27 18:45:24
複製代碼
Python 標準庫包含用於日期(date)和時間(time)數據的數據類型,並且還有日曆方面的功能。在作數據分析的過程當中,咱們主要會用到datetime、time 以及calendar 模塊,其中datetime 是用的最多的。bash
datetime 以毫秒形式存儲日期和時間。微信
from datetime import datetime
now = datetime.now()
print(now)
# 能夠輸出當前時間的年月日
print('year: {0}, month: {1}, day: {2}'.format(now.year, now.month, now.day))
# 輸出
2019-11-27 18:45:24.184510
year: 2019, month: 11, day: 27
複製代碼
datetime.timedelta 表示兩個datetime 對象之間時間差多線程
from datetime import timedelta
start = datetime.now()
# 輸出昨天的日期
new_time = start+timedelta(-1)
print(new_time)
# 輸出
2019-11-26 18:45:24.184510
複製代碼
datetime 模塊中的數據類型函數
類型 | 說明 |
---|---|
date | 以公曆形式存儲日曆日期(年、月、日) |
time | 將時間存儲爲時、分、秒、毫秒 |
datetime | 存儲日期和時間 |
timedelta | 表示兩個datetime 值之間的查(日、秒、毫秒) |
datetiem 模塊時間戳和字符串的互轉必須經過datetime 時間格式進行過渡工具
# 獲取當前時間戳
timestamp = time.time()
# 時間戳timestamp 轉datetime時間格式
datetime_time = datetime.fromtimestamp(timestamp)
# datetime時間格式轉爲日期字符串
datetime_str = datetime_time.strftime("%Y-%m-%d %H:%M:%S")
print(datetime_str)
# 輸出
2019-11-27 18:53:03
複製代碼
# 定義日期字符串
datetime_str = '2019-11-30 00:00:01'
# 日期字符串轉爲datetime時間格式
datetime_time = datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S')
# datetime時間格式轉爲時間戳
datetime_timestamp = time.mktime(datetime_time.timetuple())
print(datetime_timestamp)
# 輸出
1575043201.0
複製代碼
注:post
瞭解time模塊以前須要先知道什麼是時間元組,元組你們都知道,那時間元組也就和它字面意思同樣,存的是時間學習
時間元組struct_time結構屬性
序號 | 屬性 | 值 |
---|---|---|
0 | tm_year | 2008 |
1 | tm_mon | 1 到 12 |
2 | tm_mday | 1 到 31 |
3 | tm_hour | 0 到 23 |
4 | tm_min | 0 到 59 |
5 | tm_sec | 0 到 61 (60或61 是閏秒) |
6 | tm_wday | 0到6 (0是週一) |
7 | tm_yday | 一年中的第幾天,1 到 366 |
8 | tm_isdst | 是否爲夏令時,值有:1(夏令時)、0(不是夏令時)、-1(未知),默認 -1 |
import time
localtime = time.localtime(time.time())
print("本地時間爲 :", localtime)
# 輸出
本地時間爲 : time.struct_time(tm_year=2019, tm_mon=11, tm_mday=27, tm_hour=18, tm_min=56, tm_sec=3, tm_wday=2, tm_yday=331, tm_isdst=0)
複製代碼
time 模塊時間戳和字符串的互轉也必須經過時間元組進行過渡
# 獲取當前時間戳
timestamp = time.time()
# 時間戳timestamp 轉時間元組
time_tuple = time.localtime(timestamp)
# 時間元組轉爲日期字符串
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print(time_str)
# 輸出
2019-11-27 18:56:03
複製代碼
# 定義日期字符串
time_str = '2019-11-30 00:00:01'
# 日期字符串轉爲時間元組
time_tuple = time.strptime("2019-11-30 00:00:01", "%Y-%m-%d %H:%M:%S")
# 時間元組轉爲時間戳
timestamp = time.mktime(time_tuple)
print(timestamp)
# 輸出
1575043201.0
複製代碼
注:
calendar模塊的函數都是與日曆相關的,好比打印某個月的日曆等
import calendar
# 判斷2019年是否是閏年
print(calendar.isleap(2019))
# 打印2019年11月的日曆
print(calendar.month(2019, 11))
# 返回2019年11月15號是星期幾(0是星期一,依次類推)
print(calendar.weekday(2019, 11, 15))
# 輸出
False
November 2019
Mo Tu We Th Fr Sa Su
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
4
複製代碼
對於datetime、time 和calendar 三個時間模塊,重點掌握datetime 模塊,且datetime 模塊中重點掌握字符串和日期的互相轉換。
Python系列會持續更新,從基礎入門到進階技巧,從編程語法到項目實戰。若您在閱讀的過程當中發現文章存在錯誤,煩請指正,很是感謝;若您在閱讀的過程當中能有所收穫,歡迎一塊兒分享交流。
若是你也想和我一塊兒學習Python,能夠關注個人微信公衆號
學習Python,咱們不僅是說說而已