Python time strftime:格式化日期和時間字符串

Python中的strftime()函數是一個非常常用的函數,主要用於將時間轉換成我們想要的格式,從而方便衡量時間的一些特定業務操作。

一、strftime()函數的基本概念

strftime()函數定義:strftime(format [, value])

其中 format 是格式指令字符串,用於定義輸出的日期或時間格式。
value 是一個可選的參數,用於指定格式化的時間,返回字符串表示按指定格式格式化的時間。

>>> import time
>>> print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
2019-09-06 21:08:02

上述代碼將當前時間格式化為2019-09-06 21:08:02的格式。strftime()函數的format參數既可以是指定格式的字符串,也可以是字符串的元組。通過元組形式構建格式化字符串可避免一些錯誤。例如:

>>>print(time.strftime('%Y %m %d %H:%M:%S',time.localtime()))
2019 09 06 21:15:55

以上代碼輸出表明將當前時間格式化輸出,並且中間的date部分使用了“ ”空格進行隔開。這是常見的年月日記錄方式。

二、strftime()函數常見格式字符串

1. 標準格式化指令

指令含義輸出例子
%Y年份1999, 2003, 2019
%m月份01, 02, 03, …, 12
%B月份(全拼)January, February, …, December
%b月份(簡稱)Jan, Feb, …, Dec
%d日期01, 02, 03, …, 31
%j當年中的天數001, 002, …, 365, 366
%w星期0, 1, 2, …, 6(周日為 0)
%A星期(全拼)Sunday, Monday, …, Saturday
%a星期(簡稱)Sun, Mon, …, Sat
%H小時(24小時制)00, 01, 02, …, 23
%I小時(12小時制)01, 02, …, 12
%M分鐘00, 01, 02, …, 59
%S00, 01, 02, …, 59
%pAM/PMAM, PM
%Z時區PST, CST, EST, EDT, GMT, UTC, GMT+8
%c完整的日期和時間表示Mon May 22 17:28:40 2017
%x長格式日期05/08/17
%X長格式時間17:28:40

2. Python strftime指令的拓展使用

可以使用Python strftime函數還可以進一步拓展對時間的輸出格式化。例如:
格式: %x:日期
格式:%X:時間
可使用的命令:

  1. 採用%F格式輸出完整的時間,如:“2017-09-06”表示日期,這在進行文件命名時特別便於排序;
  2. 採用%s格式輸出時間戳;
  3. 採用%a, %A, %b, %B輸出各類表示星期和月份的全名和縮寫;
  4. 時間的運算,可在時間表示字符串的基礎上,通過神器dateutil庫實現額外計算,例如統計某個月的天數,某個時間點過一個小時後的時間點是什麼,兩個時間點間隔的天數等等。

三、strftime()函數的常見運用場景

1. 將unix時間戳轉換為實際時間

>>> import time 
>>> print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(123456789))) 
1973-11-29 21:33:09 

當你想要查看一個unix時間戳是什麼時候,可以藉助time.strftime()方法進行轉換輸出。

2. 將日期字符串轉換為指定格式字符串

>>> import datetime
>>> time_str = "2019-09-06 17:00:00"
>>> date_time = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
>>> print(date_time.strftime("%Y年%m月%d日 %H時%M分%S秒"))
2019年09月06日 17時00分00秒

3. 按照年、月、日、小時分類文件

import os
import time

def classify(folder, file_list):
    for file_name in file_list:
        if '.txt' in file_name:
            full_path = os.path.join(folder, file_name)
            file_time = os.path.getmtime(full_path)
            time_struct = time.localtime(file_time)
            print(f"{file_name} 修改時間是: ", file_time, time_struct.tm_year, time_struct.tm_mon, time_struct.tm_mday, time_struct.tm_hour)

# test
folder = 'C:\\Users\\abc\\file_folder'
file_list = ['a.txt', 'b.xlsx', 'c.docx']
classify(folder, file_list)

以上函數可以將文件進行分類,按照年、月、日、小時分類,便於對文件的管理和查找。

4. 返回當前季度

import datetime

def get_quarter():
    now = datetime.date.today()
    month = now.month
    day = now.day
    quarter = 1 if month in [1, 2, 3] else (2 if month in [4, 5, 6] else (3 if month in [7, 8, 9] else 4))
    return quarter

# test
print(get_quarter())

該函數可以方便的實現根據時間計算出當前的季度,便於對季度數據的統計。

四、總結

Python中的strftime()函數是一個很重要的時間函數,主要用於將時間轉換成想要的格式,方便衡量時間的一些特定業務操作。我們可以看到使用該函數,可以非常方便地處理重要的時間格式問題,將時間轉化為各種形式,並且可以進行一系列的節奏控制與數據處理的操作。希望讀者可以更好的利用Python的時間處理庫,解決具體場景中的時間問題。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238748.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:12
下一篇 2024-12-12 12:12

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論