python-時間模塊(time、datetime、calendar)

1.time模塊

import time
# 獲取當前時間的時間戳,以s爲單位
timestamp = time.time()
print(timestamp, type(timestamp))
# 輸出1583127227.7372458 <class 'float'>

# 將時間戳轉換爲UTC時間
g = time.gmtime(timestamp)
print(g)
# 輸出 time.struct_time(tm_year=2020, tm_mon=3, tm_mday=2, tm_hour=5, tm_min=33, tm_sec=47, tm_wday=0, tm_yday=62, tm_isdst=0)

# 將時間戳轉換成本地時間
l = time.localtime(timestamp)
print(l)
# 輸出 time.struct_time(tm_year=2020, tm_mon=3, tm_mday=2, tm_hour=13, tm_min=33, tm_sec=47, tm_wday=0, tm_yday=62, tm_isdst=0)

# 將UTC時間轉換成時間戳
timestamp2 = time.mktime(g)
print(timestamp2)
# 輸出 1583098427.0

# 將本地時間轉換成時間戳
timestamp3 = time.mktime(l)
print(timestamp3)
# 輸出 1583127227.0

# 將特定時間轉換成時間戳
timestamp4 = time.mktime((2020, 3, 2, 13, 20, 47, 0, 62, 0))
# 參數解釋: 2020年3月2日13點20分47秒,0代表星期一,是今年的第62天,0代表夏令時
print(timestamp4)
# 輸出 1583126447.0

# 將時間戳可視化
timestamp5 = time.ctime(timestamp4)
print(timestamp5)
# 輸出  Mon Mar  2 13:20:47 2020
# 將時間元組轉換成時間字符串
s = time.strftime("%Y:%m:%d %H:%M:%S", l)
print(s)  # 輸出 2020:03:02 13:44:25
# 將時間字符串轉換成時間元組
p = time.strptime("2020-3-2 13:20:45","%Y-%m-%d %H:%M:%S")
print(p)
# 輸出 time.struct_time(tm_year=2020, tm_mon=3, tm_mday=2, tm_hour=13, tm_min=20, tm_sec=45, tm_wday=0, tm_yday=62, tm_isdst=-1)

# 使程序進入休眠狀態 5秒
print(time.time())  # 輸出1583128091.2465198
time.sleep(5)
print(time.time())  # 輸出1583128096.24725

2.datatime模塊

import datetime
# 獲取當前時間
currentTime = datetime.datetime.now()
print(currentTime, type(currentTime))  # 輸出 2020-03-02 13:52:35.584804 <class 'datetime.datetime'>

# 將指定時間轉換成時間字符串
timeStr = currentTime.strftime('%Y-%m-%d')
print(timeStr, type(timeStr))  # 輸出 2020-03-02 <class 'str'>

# 根據時間元組獲取時間
currentTime1 = datetime.datetime(2020, 3, 2, 13, 52, 35, 584804)
print(currentTime1, type(currentTime1))  # 輸出 2020-03-02 13:52:35.584804 <class 'datetime.datetime'>

# 把時間字符串轉換成時間
currentTime2 = datetime.datetime.strptime(timeStr, '%Y-%m-%d')
print(currentTime2, type(currentTime2))  # 輸出 2020-03-02 00:00:00 <class 'datetime.datetime'>

3.calendar

import calendar
# 獲取指定年和月日曆形式
print(calendar.month(2020, 3))
'''輸出:
         March 2020
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 31
'''
# 二維列表形式展現
print(calendar.monthcalendar(2020, 3))
# 輸出 [[0, 0, 0, 0, 0, 0, 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, 31, 0, 0, 0, 0, 0]]
# 年份區間段裏, 有幾個閏年
print(calendar.leapdays(2000, 2020))  # 輸出 5

# 指定月份第一天是周幾,一共有多少天
print(calendar.monthrange(2020, 3))  # 輸出 (6, 31)  6:表示週日  因爲程序是從0開始計算的

# 判斷指定日期是星期幾
print(calendar.weekday(2020, 3, 2))  # 輸出0   說明是星期一

# 查看一年的日曆
print(calendar.calendar(2020))
'''輸出
                                  2020

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
       1  2  3  4  5                      1  2                         1
 6  7  8  9 10 11 12       3  4  5  6  7  8  9       2  3  4  5  6  7  8
13 14 15 16 17 18 19      10 11 12 13 14 15 16       9 10 11 12 13 14 15
20 21 22 23 24 25 26      17 18 19 20 21 22 23      16 17 18 19 20 21 22
27 28 29 30 31            24 25 26 27 28 29         23 24 25 26 27 28 29
                                                    30 31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
       1  2  3  4  5                   1  2  3       1  2  3  4  5  6  7
 6  7  8  9 10 11 12       4  5  6  7  8  9 10       8  9 10 11 12 13 14
13 14 15 16 17 18 19      11 12 13 14 15 16 17      15 16 17 18 19 20 21
20 21 22 23 24 25 26      18 19 20 21 22 23 24      22 23 24 25 26 27 28
27 28 29 30               25 26 27 28 29 30 31      29 30

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
       1  2  3  4  5                      1  2          1  2  3  4  5  6
 6  7  8  9 10 11 12       3  4  5  6  7  8  9       7  8  9 10 11 12 13
13 14 15 16 17 18 19      10 11 12 13 14 15 16      14 15 16 17 18 19 20
20 21 22 23 24 25 26      17 18 19 20 21 22 23      21 22 23 24 25 26 27
27 28 29 30 31            24 25 26 27 28 29 30      28 29 30
                          31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                         1          1  2  3  4  5  6
 5  6  7  8  9 10 11       2  3  4  5  6  7  8       7  8  9 10 11 12 13
12 13 14 15 16 17 18       9 10 11 12 13 14 15      14 15 16 17 18 19 20
19 20 21 22 23 24 25      16 17 18 19 20 21 22      21 22 23 24 25 26 27
26 27 28 29 30 31         23 24 25 26 27 28 29      28 29 30 31
                          30
'''

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章