如何使用Python中的strftime()函数格式化日期和时间?
Python是一种强大而灵活的编程语言,它具有很多有用的应用程序编程接口(API),其中strftime()函数使在程序中操作日期和时间变得容易。strftime()函数可将时间格式化成用户指定的字符串,使得程序员可以将时间以更易读的方式输出到终端或文件中。
在Python中使用strftime()函数非常简单。以下是一个简单的示例,该程序以当前日期和时间作为输入,并将其格式化为指定格式的字符串作为输出。
import datetime
now = datetime.datetime.now()
print("当前日期和时间为: ")
print(now.strftime("%Y-%m-%d %H:%M:%S"))
在上述代码中,datetime模块用于获取当前日期和时间,然后使用strftime()方法将其格式化为特定的字符串。在这个例子中,日期和时间用“%Y-%m-%d %H:%M:%S”的格式输出,其中“%Y”表示年份, “%m”表示月份,“%d”表示日期,“%H”表示小时,“%M”表示分钟,“%S”表示秒数。
下面是一些常用的格式化占位符的例子:
|格式符|说明|
|---|---|
|%Y|年份,以四位数表示|
|%m|月份,以两位数表示(01-12)|
|%d|日期,以两位数表示(01-31)|
|%H|小时,以24小时制表示(00-23)|
|%I|小时,以12小时制表示(01-12)|
|%M|分钟,以两位数表示(00-59)|
|%S|秒数,以两位数表示(00-59)|
|%p|AM或PM|
strftime()方法可以用来指定特定的格式,以根据特定问题进行格式化,如日期区间分隔符和时间文本。
import datetime
dt=datetime.datetime.now()
print(dt.strftime("%Y-%B-%d %H:%M:%S %p")) #输出为 2022-April-22 11:22:02 PM
在上述代码中,“%B”表示英文月份名称。 因此,输出将是包含月份名称的日期。
strftime()方法还可以用来计算和比较日期和时间差。例如,在下面的示例中,我们将计算两个日期之间的差异。
import datetime
date1 = datetime.datetime.strptime("2021-02-01", "%Y-%m-%d")
date2 = datetime.datetime.strptime("2021-02-15", "%Y-%m-%d")
difference = date2 - date1
print(difference.days)
在上述代码中,我们使用strptime()方法将日期字符串解析为datetime对象。然后,我们计算两个日期之间的差异,将其输出到计算机终端中。
strftime()方法还可以用于格式化文件名或日志文件中的时间戳。例如:
import datetime
def log(message):
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
with open("log_{}.txt".format(timestamp), "a") as log_file:
log_file.write("{}, {}
".format(timestamp, message))
log("Application Started")
在此示例中,我们创建一个log()函数来记录日志信息。 日志文件名包含当前时间戳,以防止文件名冲突。 利用上述示例,可创建名为“log_2022-05-15_21-05-23.txt”的日志文件。
最后,我们需要记住的一点是,strftime()方法可以确保格式化为字符串的日期和时间正确显示和保存,避免产生输出差别,这为Python程序员提供了很多使用和输出的灵活性。
