python3将时间、日期转为字符串:strftime() – Python3教程

上一章Python教程请查看:python3处理时间和日期:datetime模块

在本文中,你将学习如何将date、time和datetime对象转换为它的等效字符串(通过示例)

strftime方法使用date、time或datetime对象返回一个表示日期和时间的字符串。

示例1:使用strftime()将datetime转换为字符串

下面的程序将一个包含当前日期和时间的datetime对象转换为不同的字符串格式。

from datetime import datetime

now = datetime.now() # 当前date and time

year = now.strftime("%Y")

print("year:", year)

month = now.strftime("%m")

print("month:", month)

day = now.strftime("%d")

print("day:", day)

time = now.strftime("%H:%M:%S")

print("time:", time)

date_time = now.strftime("%m/%d/%Y, %H:%M:%S")

print("date and time:",date_time)

在这里,year、day、time和date_time是字符串,而now是一个datetime对象。

strftime()是如何工作的?

在上述程序中,%Y、%m、%d等为格式码,strftime()方法以一个或多个格式代码作为参数,并返回一个基于它的格式化字符串。

我们从datetime模块导入了datetime类,这是因为datetime类的对象可以访问strftime()方法。

在Python中导入datetime模块

包含当前日期和时间的datetime对象存储在now变量中。

datetime对象,包含当前日期和时间

strftime()方法可用于创建格式化字符串。

Python strftime()例子

传递给strftime()方法的字符串可能包含多个格式代码。

Python strftime()例子02

示例2:从时间戳创建字符串

from datetime import datetime

timestamp = 1528797322

date_time = datetime.fromtimestamp(timestamp)

print("Date time object:", date_time)

d = date_time.strftime("%m/%d/%Y, %H:%M:%S")

print("输出 2:", d)

d = date_time.strftime("%d %b, %Y")

print("输出 3:", d)

d = date_time.strftime("%d %B, %Y")

print("输出 4:", d)

d = date_time.strftime("%I%p")

print("输出 5:", d)

格式代码列表

下表显示了可以传递给strftime()方法的所有代码。

指令

解释

例子

%a

缩写工作日的名字。

Sun, Mon, …

%A

完整的工作日的名字。

Sunday,

Monday, …

%w

一个十进制的工作日。

0, 1, …, 6

%d

一个月中的一天作为一个带零填充的小数。

01, 02, …,

31

%-d

以十进制数字表示的月份的天数。

1, 2, …, 30

%b

缩写月的名字。

Jan, Feb, …,

Dec

%B

全月的名字。

January,

February, …

%m

月作为一个零填充的小数。

01, 02, …,

12

%-m

一个十进制的月份。

1, 2, …, 12

%y

年没有世纪作为一个零填充的小数。

00, 01, …,

99

%-y

没有世纪作为十进制数的年份。

0, 1, …, 99

%Y

以世纪为十进制数的年份。

2013, 2019

etc.

%H

小时(24小时时钟)作为一个零填充的小数。

00, 01, …,

23

%-H

小时(24小时时钟)是一个十进制数。

0, 1, …, 23

%I

小时(12小时时钟)作为一个零填充的小数。

01, 02, …,

12

%-I

小时(12小时时钟)作为一个十进制数。

1, 2, … 12

%p

场所的上午或下午。

AM, PM

%M

分钟作为一个零填充的小数。

00, 01, …,

59

%-M

分钟是个小数。

0, 1, …, 59

%S

第二个是带零填充的小数。

00, 01, …,

59

%-S

第二个是小数。

0, 1, …, 59

%f

微秒作为一个十进制数,左边加零。

000000 –

999999

%z

UTC偏移量的形式是+HHMM或-HHMM。

 

%Z

时区名称。

 

%j

一年中的一天,作为一个零填充的小数。

001, 002, …,

366

%-j

以十进制数表示的一年中的一天。

1, 2, …, 366

%U

全年的周数(星期日为一周的第一天)。新年第一个星期日之前的所有日子都被认为是在第0周。

00, 01, …,

53

%W

全年的周数(星期一为一周的第一天)。新年第一个星期一之前的所有日子都被认为是在第0周。

00, 01, …,

53

%c

区域设置的适当日期和时间表示。

Mon Sep 30

07:06:05 2013

%x

区域设置的适当日期表示。

09/30/13

%X

区域设置的适当时间表示。

07:06:05

%%

文字’%’字符。

%

from datetime import datetime

timestamp = 1528797322

date_time = datetime.fromtimestamp(timestamp)

d = date_time.strftime("%c")

print("输出 1:", d)

d = date_time.strftime("%x")

print("输出 2:", d)

d = date_time.strftime("%X")

print("输出 3:", d)

格式化代码%c、%x和%x用于区域设置的适当日期和时间表示。

我们还建议你查看Python

strptime(),方法的作用是:从字符串中创建一个datetime对象。

以上是 python3将时间、日期转为字符串:strftime() – Python3教程 的全部内容, 来源链接: utcz.com/p/203684.html

回到顶部