Python datetime.strftime()方法

Pythondatetime.strftime() 方法是将任何陈述的datetime 对象转换为不同字符串格式的有效方法。

Pythondatetime.strftime() 方法的语法

datetime.strftime(format)

参数

说明 例子
format 它是datetime 格式的数据,然后用以下代码进行转换:
%a 缩略的工作日名称 星期日、星期一、星期二、星期三
%A 完整的工作日名称 星期日,星期一
%w 周日为十进制数字 0,1,2,3,4,5,6
%d 日作为一个零填充的小数 01,02,03,04,05,06…
%-d 作为小数的一天 1,2,3,4,5,6…
%b 缩略的月份名称 一月、二月、三月
%m 以零填充的小数表示的月份 01,02,03,04,05,06…
%-m 作为小数的月号 1,2,3,4,5,6…
%B 完整的月份名称 一月,二月…
%y 不含世纪的年份,小数点后加零 99,00,01..
%-y 不含世纪的小数的年份 99,0,1..
%Y 带世纪的年份 1999,2000,2001..
%H 24小时时钟,小数点后加零 01,02,….23
%-H 24小时的时钟为小数 1,2,3,….23
%I 12小时时钟,零填充的小数 01,02,….12
%-I 12小时时钟为小数点 1,2,3,….12
%M 分钟作为一个零填充的小数 01,02,….59
%-M 分钟为小数 1,2,3,….59
%S 秒为零填充的小数 01,02,….59
%-S 秒为小数 1,2,3,….59
%p 地区性的AM或PM AM, PM
%Z 时区名称 EST,UTC,GMT…
%z UTC偏移的形式是+HHMM-HHMM +0112,-0112….
%j 一年中的天数,零填充的小数 001,002,….365
%-j 一年中的日号,小数点 1,2,3,….365
%c 当地语言的日期和时间表示法 Mon Aug 29 07:06:05 2022
%x locale的日期表示法 29/08/22
%X locale的时间表示法 10:03:43
%f 微秒,左边是零填充的 000000….999999
%U 一年中的周数(星期日为第一周) 0,1,2…6
%W 一年中的周数 00,01,…53

返回值

该方法的返回类型是一个代表日期和时间的字符串。它使用date,timedatetime 对象。

例1:在Python中使用datetime.strftime() 方法

import datetime
datetime_object = datetime.datetime(2022,8,29,12,30,5)
year = datetime_object.strftime("%Y")
print("year:", year)
month = datetime_object.strftime("%m")
print("month:", month)
day = datetime_object.strftime("%d")
print("day:", day)
time = datetime_object.strftime("%H:%M:%S")
print("time:", time)
date_time = datetime_object.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)

输出:

year: 2022
month: 08
day: 29
time: 12:30:05
date and time: 08/29/2022, 12:30:05

上面的代码只显示了我们指定的属性。

例2:使用datetime.strftime() 方法转换为字符串

import datetime
timestamp = 1528797322
datetime_object = datetime.datetime.fromtimestamp(timestamp)
x = datetime_object.strftime("%c")
print("Date and time: ", x)
x = datetime_object.strftime("%x")
print("Date:", x)
x = datetime_object.strftime("%X")
print("Time:", x)
x = datetime_object.strftime("%I%p")
print("Locale's AM or PM:", x)

输出:

Date and time:  Tue Jun 12 09:55:22 2018
Date: 06/12/18
Time: 09:55:22
Locale's AM or PM: 09AM

基于字符串和使用的格式代码,如%d,%B ,该方法返回其对应的datetime 对象。

例3:使用datetime.strftime() 方法以不同的格式表示时间

import datetime
datetime_object=datetime.datetime(2022,8,29,13,4,22)
x = datetime_object.strftime("%a %m %y")
print('Date in short form:', x)
x = datetime_object.strftime("%A %-m %Y")
print('Date in full form:', x)
x = datetime_object.strftime("%-I %p %S")
print("Date in locale's form:", x)

输出:

Date in short form: Mon 08 22
Date in full form: Monday 8 2022
Date in locale's form: 1 PM 22

在上面的代码中,我们得到了遵循我们使用格式代码指定的格式的时间。