Python中的strftime()函数

Python中的strftime()函数

在本节中,我们将学习Python编程语言中的strftime()函数及其一些变体的操作方式。

所以让我们开始吧。

为了在数据上实现各种类型的功能,Python提供了一系列包含一组函数的模块供选择。Python的时间模块用于在各个地方实现基于不同时间戳的操作。

此外,Python的strftime()函数接受各种格式的时间,并输出一个以标准形式表示时间的字符串。

使用Python的strftime()函数获取当前时间

为了根据格式代码检索当前时间戳以正确格式显示,我们可以使用Python的strftime()函数以及datetime模块。

Python的strftime()函数是在Python中处理日期和时间的强大工具。它用于按照特定格式来格式化日期和时间。使用strftime(),您可以方便地以满足您需求的方式获取Python中的当前时间。

使用strftime()函数的基本语法如下所示:

语法

datetime.now().strftime('format codes') or strftime(format[, t])

strftime()函数的格式代码参数实际上是指用于以标准化和适当的方式表示时间戳的预定义代码。在本教程中,我们将深入学习更多有关格式代码的知识。

其中,格式是用于格式化日期和时间的格式字符串,t是一个可选参数,表示时间为元组或struct_time对象。如果没有提供t,则函数将使用当前本地时间。

但在此之前,让我们考虑一些示例。

示例1

# importing the datetime module into it
from datetime import datetime  
# storing the value of current timestamp  
cur_timestamp = datetime.now()  

# using the strftime() function to represent  
# timestamp into proper and standard format  
the_time = cur_timestamp.strftime( "%H : %M : %S" )  
the_date = cur_timestamp.strftime( "%d - %m - %Y" )  

# printing the values  
print("The Present Time:", the_time)  
print("The Present Date:", the_date)  

输出:

Present Time: 16 : 05 : 25
Present Date: 05 - 06 - 2023

解释:

我们从datetime库导入了datetime模块,用于上述示例。然后将当前日期和时间存储在一个指定的变量中。然后使用strftime()函数表示当前日期和时间,并选择的格式将其显示给用户。当前日期和时间因此以正确和接受的方式被正确打印出来。

示例2

要在Python中获取当前时间,可以使用%H:%M:%S格式字符串,该格式字符串将时间格式化为小时:分钟:秒。下面是使用strftime()获取当前时间的示例:

import datetime
now = datetime.datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time) 

在这个示例中,我们导入了datetime模块并使用now()方法来获取当前的日期和时间。然后,我们将当前的日期和时间传递给strftime()方法,并使用格式字符串%H:%M:%S。最后,我们打印出当前的时间。

以上代码的输出将类似于这样:

Current Time = 14:30:45

如您所见,strftime() 函数以指定的格式返回当前时间。您可以更改格式字符串以获得不同格式的时间。例如,%I:%M:%S %p 将返回以AM/PM指示符表示的12小时制时间,而 %Y-%m-%d %H:%M:%S 将返回ISO 8601格式的时间。

除了时间外,您还可以使用strftime() 格式化日期、星期几、月份和年份。

# Format the date
now = datetime.datetime.now()
current_date = now.strftime("%d-%m-%Y")
print("Current Date =", current_date)
# Format the weekday
now = datetime.datetime.now()
weekday = now.strftime("%A")
print("Today is", weekday)

# Format the month
now = datetime.datetime.now()
month = now.strftime("%B")
print("Current month is", month)
# Format the year
now = datetime.datetime.now()
year = now.strftime("%Y")
print("Current year is", year)

上面代码的输出将取决于执行时的当前日期和时间。例如,如果代码在2023年4月27日执行,则输出可能为:

Current Date = 27-04-2023
Today is Thursday
Current month is April
Current year is 2023

解释:

strftime() 函数是在 Python 中处理日期和时间的强大工具。通过使用正确的格式字符串,您可以轻松地以任何想要的方式格式化日期和时间。

使用 Python strftime() 函数与预定义时间戳

有时我们想要显示较旧数据集的日期和时间。Python 的 strftime() 方法可用于执行相同的操作。

datetime 模块的 fromtimestamp() 方法帮助用户检索预定义的时间戳。此外,我们可以使用 strftime() 函数以前面提到的各种格式代码表示检索的时间戳。

要使用 strftime(),首先需要创建一个表示要格式化的时间戳的 datetime 对象。这可以使用 datetime 构造函数来完成,该构造函数接受用于年、月、日、小时、分钟、秒和微秒的参数。一旦有了 datetime 对象,就可以在其上调用 strftime() 函数生成格式化的字符串。

Python 的 strftime() 函数是一种强大的工具,可以将日期和时间格式化为既可读又可机器处理的方式。它允许开发人员将时间戳转换为表示特定日期和时间的格式化字符串。

strftime() 函数是 Python 的 datetime 模块的一部分,该模块包含在标准库中。该函数接受时间戳作为参数和一个字符串,该字符串指定输出的所需格式。格式字符串可以包含各种占位符,每个占位符表示特定的日期或时间组件。例如,%Y 表示年份,%m 表示月份,%d 表示日期,等等。

我们可以看到使用 strftime() 函数的语法如下:

语法:

datetime.fromtimestamp(timestamp).strftime('format code')

现在,让我们考虑一个示例,以说明 strftime() 函数与预定义的时间戳一起使用的工作方式。

示例:

# importing the datetime module
from datetime import datetime

# provided timestamp
provided_timestamp = 114579923

# storing the value of provided timestamp
my_timestamp = datetime.fromtimestamp(provided_timestamp)

# using the strftime() function to represent
# timestamp into proper and standard format
the_time = my_timestamp.strftime( "%H : %M : %S" )
the_date = my_timestamp.strftime( "%d - %m - %Y" )

# printing the values
print("Time as per the provided Timestamp:", the_time)
print("Date as per the provided Timestamp:", the_date)

输出:

Time as per the provided Timestamp: 09 : 15 : 23
Date as per the provided Timestamp: 19 - 08 - 1973

解释:

然后,在上述示例中定义了包含预定时间戳值的变量。然后使用fromtimestamp()技术检索保存的值,然后使用strftime()函数以有效且可接受的方式表示检索到的时间戳。然后用户看到了我们打印的最终值。结果,时间戳已成功以正确的格式表示。

使用Python strftime()函数的不同格式代码

Python的strftime()函数使用许多格式代码来维护和标准化日期和时间的表示。此外,这些格式代码还可以用于将小时、天、周等与时间戳分开显示。

让我们考虑一个表示使用格式代码的示例。

示例:

# importing the strftime function
from time import strftime

# using "%A" as the format code
# "%A" displays the current day of the local time
the_day = strftime( "%A" )

# printing the values
print("Present Day:", the_day)

输出:

Present Day: Tuesday

解释:

我们从时间模块中导入了strftime函数用于上述示例。strftime()函数和输入的 “%A” 被用于创建一个变量,用于存储当前日期的本地时间的格式代码。然后将值打印给用户。程序接着打印了完整的星期几的名字。

现在让我们考虑一些使用其他格式代码的示例。

1. 使用 “%c” 作为格式代码,以以下格式显示当前本地时间:

星期几 月份 日期 小时:分钟:秒 年份

示例:

# importing the strftime function
from time import strftime

# using "%c" as the format code
# "%c" displays the current local time
the_timestamp = strftime( "%c" )

# printing the values
print("Present Timestamp:", the_timestamp)

输出:

Present Timestamp: Wed Jun  2 16:06:41 2021

解释:

在上面的程序中,我们再次执行了之前的等效操作。但是,我们使用了“ %c ”作为格式代码。结果,程序按照指定的格式代码打印了当前时间戳。

2. 使用“ %R ”作为格式代码,以以24小时制表示时间。

示例:

# importing the strftime function
from time import strftime

# using "%R" as the format code
# "%R" displays the current time in 24-hour format
the_24hour = strftime( "%R" )

# printing the values
print("Present Time in 24-hour format:", the_24hour)

输出:

Present Time in 24-hour format: 16:14

说明:

我们在上面的程序中再次遵循了相同的语法,但是我们包含了格式代码” %R “来以24小时制显示当前时间。

3. 使用” %r “作为格式代码,以12小时制或者小时:分钟:秒的格式表示时间,同时包含AM或PM的注释。

示例:

# importing the strftime function
from time import strftime

# using "%r" as the format code
# "%r" displays the current local time in H:M:S format
the_time = strftime( "%r" )

# printing the values
print("Present Time in 12-hour format:", the_time)

输出:

Present Time in 12-hour format: 04:33:12 PM

解释:

与之前我们所做的类似,我们将“%r”作为参数添加到 strftime() 函数中以以12小时格式打印当前时间。

4. 在单个函数中使用多个格式代码。

示例:

# importing the strftime function
from time import strftime

# using multiple format code
# "%x" displays the current date
# "%X" displays the current time in 24-hour format
# "%p" provides discriptions for current time i.e., AM or PM
the_timestamp = strftime( "%x -- %X %p" )

# printing the values
print("Present Timestamp:", the_timestamp)

输出:

Present Timestamp: 06/02/21 -- 16:44:11 PM

解释:

为了根据本地时间戳显示日期,我们在上面的示例中使用了格式代码”%x”。除了使用格式代码”%p”来表示当前时间的符号,即上午或下午,我们还使用了格式代码”%X”来以24小时制显示时间。

除了上面列出的格式代码外,还有其他几个格式代码可用。格式代码的列表包括:

序号 格式代码 描述
1 %a 缩写的星期几名称
2 %A 完整的星期几名称
3 %b 缩写的月份名称
4 %B 完整的月份名称
5 %c 选择的日期和时间表示
6 %C 世纪数(年份除以100,范围从00到99)
7 %d 月份日期(从01到31)
8 %D %m / %d / %y 类似的功能
9 %e 月份日期(从1到31)
10 %g 类似于 %G ;然而,该值将不带有世纪部分
11 %G 4位数年份相当于ISO周数(参考 %V
13 %H 小时,使用24小时制(从00到23)
14 %I 小时,使用12小时制(从01到12)
15 %j 年的第几天(从001到366)
16 %m 月份(从01到12)
17 %M 分钟
18 %n 换行字符
19 %p 根据提供的时间值,是上午还是下午
20 %r 上午和下午表示的时间
21 %R 24小时制的时间
22 %S
23 %t 制表符
24 %T 当前时间,格式为” %H:%M:%S”

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程