當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python datetime strftime()用法及代碼示例


Python datetime.strftime() 方法

datetime.strftime() 方法用於操作模塊 datetime 的 datetime 類的對象。

它接受類的一個實例並返回一個表示日期和時間的字符串,該字符串由顯式格式字符串控製。

模塊:

    import datetime

類:

    from datetime import datetime

用法:

    strftime(format)

參數:

  • format- 它是基於字符串表示和格式發生的字符串格式代碼。例如,%Y%m%d等是格式代碼。此方法將一個或多個格式代碼作為參數,並基於此返回一個格式化的字符串。

下麵給出了所有可用格式代碼的列表:

指令意義示例
%一種縮寫的工作日名稱。周日、周一、...
%A完整的工作日名稱。周日、周一、...
%w工作日為十進製數。0, 1, ..., 6
%d以 zero-padded 十進製表示的月份中的某天。01, 02, ..., 31
%-d以十進製數表示的月份中的第幾天。1, 2, ..., 30
%b縮寫的月份名稱。一月、二月、...、十二月
%B完整的月份名稱。一月,二月,...
%m月份為 zero-padded 十進製數。01, 02, ..., 12
%-m月份為十進製數。1, 2, ..., 12
%y沒有世紀的年份作為 zero-padded 十進製數。00, 01, ..., 99
%-y沒有世紀的年份作為十進製數。0,1, 2, ‌ , 99
%Y以世紀為十進製數的年份。2020年、2019年等
%H小時(24 小時製)作為 zero-padded 十進製數。00, 01, ..., 23
%-H小時(24 小時製)作為十進製數。0, 1, 2, ..., 23
%我小時(12 小時製)作為 zero-padded 十進製數。01, 02, ..., 12
%-我小時(12 小時製)作為十進製數。1,2,.., 12
%p當地上午或下午。上午、下午
%M分鍾作為 zero-padded 十進製數。00, 01, ..., 59
%-M分鍾作為十進製數。0, 1, ..., 59
%S第二個是 zero-padded 十進製數。00, 01, ..., 59
%-S第二個是十進製數。0, 1, ..., 59
%F微秒為十進製數,左側為zero-padded。000000 - 999999
%z+HHMM 或 -HHMM 形式的 UTC 偏移量。不適用
%Z時區名稱。不適用
%j以 zero-padded 十進製數表示的一年中的某一天。001, 002, ..., 366
%-j以十進製數表示的一年中的第幾天。1, 2, ..., 366
%C適當的本地日期和時間表示2020 年 10 月 27 日星期三 01:04:15
%X適當的本地日期表示。13 年 9 月 30 日
%X適當的本地時間表示。09:07:06
%U一年中的周數,以星期日為一周的第一天00, 01, ..., 53
%W一年中的周數,以星期一為一周的第一天00, 01, ..., 53

返回值:

該方法的返回類型是根據格式碼轉換的字符串。

例:

## Python program explaining the 
## use of strftime() method in datetime class

from datetime import datetime
import pytz

## Creating an instance
x = datetime.now()
timezone = pytz.timezone("Asia/Kolkata")
## Adding timezone information in datetime object
x = x.astimezone(timezone)
c = x.strftime("%c")
print("Date and time representation using strftime:", c)
print()

##You can extract information using these methods
print("Abbreviated weekday name:", x.strftime("%a"))
print("Full weekday name:", x.strftime("%A"))
print("Weekday as a decimal number:", x.strftime("%w"))
print("Day of the month as a zero-padded decimal:", x.strftime("%d"))
print("Full month name:", x.strftime("%B"))
print("Month as a decimal number:", x.strftime("%-m"))
print("Year with century as a decimal number:", x.strftime("%Y"))
print("What day of the year is it?", x.strftime("%-j"))
print("What is the week number of this day?", x.strftime("%U"))##or x.strftime("%W")
print("What is the name of the timezone given", x.strftime("%Z"))
print("Is it AM or PM", x.strftime("%p"))
print("Time ahead of UTC time by:", x.strftime("%z"))
print()

## Different ways of representing the Date as a date string
print("Output 1:date:", x.strftime("%d/%m/%Y"))
print("Output 2:time:", x.strftime("%H:%M:%S:%f"))
print("Output 3:time with timezone:", x.strftime("%H:%M:%S:%f %z"))
print("Output 4:date with day:", x.strftime("%a %d/%B/%Y"))
print("Output 5:", x.strftime("%A, %Y/%m/%d, %H:%M:%S:%f %Z"))
print("Output 6:", x.strftime("%x"))
print("Output 7:", x.strftime("%X"))
## You can create any combination of the date and time 
## representation you want

輸出

Date and time representation using strftime:Sun May  3 23:08:28 2020

Abbreviated weekday name:Sun
Full weekday name:Sunday
Weekday as a decimal number:0
Day of the month as a zero-padded decimal:03
Full month name:May
Month as a decimal number:5
Year with century as a decimal number:2020
What day of the year is it? 124
What is the week number of this day? 18
What is the name of the timezone given IST
Is it AM or PM PM
Time ahead of UTC time by:+0530

Output 1:date:03/05/2020
Output 2:time:23:08:28:024355
Output 3:time with timezone:23:08:28:024355 +0530
Output 4:date with day: Sun 03/May/2020
Output 5:Sunday, 2020/05/03, 23:08:28:024355 IST
Output 6:05/03/20
Output 7:23:08:28


相關用法


注:本文由純淨天空篩選整理自 Python datetime strftime() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。