如何使用Python中的strftime()函数将日期格式化为字符串
在Python编程中,strftime()函数提供了一种简单的方法来将日期/时间格式化为指定的字符串格式。strftime()是Python中的内置函数,它能够将日期时间转换成指定格式的字符串。
在Python中,时间和日期对象被表示为datetime类的实例对象。该类包含一个strftime()方法,它允许你将时间和日期格式化成不同的字符串格式。这使得你可以以您想要的方式显示时间和日期。
使用strftime()函数的格式化字符串
在使用strftime()函数来格式化日期时,需要使用格式化字符串。格式化字符串的格式控制参数可以用于指定要将哪些元素包括在表示日期和时间的字符串中。
例如,以下格式化字符串可以将日期表示为“年-月-日”格式:"%Y-%m-%d"。以下是strftime()函数的常用格式控制参数列表:
| 格式参数 | 说明 |
| -------- | ----------------------------------------------------- |
| %d | 月份中的第几天,01-31 |
| %m | 月份,01-12 |
| %Y | 年,以数字表示,如:2021 |
| %y | 年,表示成两位数字,如:21 |
| %H | 24小时制下的小时数,00-23 |
| %I | 12小时内的小时数,01-12 |
| %M | 分钟,00-59 |
| %S | 秒,00-59 |
| %p | 上午/下午标志,AM或PM |
| %a | 本地简化星期名称,如Mon,Tue等 |
| %A | 本地完整星期名称,如Monday,Tuesday等 |
| %b | 本地简化月份名称,如Jan,Feb等 |
| %B | 本地完整月份名称,如January,February等 |
| %c | 本地日期与时间表示,如Wed Aug 4 00:00:00 2021 |
| %x | 本地日期表示,如08/04/21 |
| %X | 本地时间表示,如00:00:00 |
注意:在使用上述格式参数时,务必要使用百分号(%)进行转义,否则会导致语法错误并引发异常。
将日期格式化为字符串
现在我们来看看如何将日期格式化为字符串。在Python中,可以使用datetime类和strftime()函数将日期格式化。
from datetime import datetime
# 获取当前时间
now = datetime.now()
# 将日期格式化为字符串
formatted_date = now.strftime("%m/%d/%Y %H:%M:%S")
print("Formatted date:", formatted_date)
输出:
Formatted date: 08/04/2021 21:08:45
在上面的示例中,首先我们获取当前日期和时间,然后将其格式化为指定的字符串。我们使用strftime()函数并传递一个格式化字符串作为参数,以按指定格式显示日期。
以下是一些其他示例,演示了如何使用不同的格式化字符串来格式化日期。
###将日期和时间分别格式化
from datetime import datetime
# 获取当前时间
now = datetime.now()
# 将日期和时间分别格式化为字符串
formatted_date = now.strftime("%m/%d/%Y")
formatted_time = now.strftime("%H:%M:%S")
print("Formatted date:", formatted_date)
print("Formatted time:", formatted_time)
输出:
Formatted date: 08/04/2021 Formatted time: 21:13:26
在上面的示例中,我们将日期和时间分别格式化为不同的字符串。我们使用strftime()函数分别传递不同的格式化字符串作为参数来完成这一点。
###几种常用日期格式示例
from datetime import datetime
# 获取当前时间
now = datetime.now()
# 将日期格式化为字符串
formatted_date = now.strftime("%Y-%m-%d")
print("Formatted date (YYYY-MM-DD):", formatted_date)
# 将日期格式化为字符串
formatted_date = now.strftime("%d-%m-%Y")
print("Formatted date (DD-MM-YYYY):", formatted_date)
# 将日期格式化为字符串
formatted_date = now.strftime("%a, %d %b %Y %H:%M:%S GMT")
print("Formatted date (Day, DD Month YYYY HH:MM:SS):", formatted_date)
# 将日期格式化为字符串
formatted_date = now.strftime("%Y/%m/%d %H:%M:%S")
print("Formatted date (YYYY/MM/DD HH:MM:SS):", formatted_date)
输出:
Formatted date (YYYY-MM-DD): 2021-08-04 Formatted date (DD-MM-YYYY): 04-08-2021 Formatted date (Day, DD Month YYYY HH:MM:SS): Wed, 04 Aug 2021 21:14:21 GMT Formatted date (YYYY/MM/DD HH:MM:SS): 2021/08/04 21:14:21
在上面的示例中,我们使用不同的字符串格式将日期格式化。请注意,输出的日期字符串格式根据所使用的格式化字符串不同而异。
###用strftime()函数获取日期和时间信息
strftime()函数也可以用来获取日期/时间信息。以下是一些示例,演示了如何用strftime()函数获取不同的日期/时间信息。
from datetime import datetime
# 获取当前时间
now = datetime.now()
# 获取年份
year = now.strftime("%Y")
print("Year:", year)
# 获取月份
month = now.strftime("%m")
print("Month:", month)
# 获取日期
date = now.strftime("%d")
print("Date:", date)
# 获取小时
hour = now.strftime("%H")
print("Hour:", hour)
# 获取分钟
minutes = now.strftime("%M")
print("Minutes:", minutes)
# 获取秒钟
seconds = now.strftime("%S")
print("Seconds:", seconds)
输出:
Year: 2021 Month: 08 Date: 04 Hour: 21 Minutes: 20 Seconds: 45
在上面的示例中,我们使用strftime()函数获取不同的日期/时间信息。我们使用了一些不同格式化字符串来获取不同的日期/时间信息。请注意,输出的日期/时间信息取决于所使用的格式化字符串。
总结
本文中,我们讲解了如何使用Python中的strftime()函数将日期格式化为字符串。我们介绍了如何使用格式化字符串来控制要在日期时间字符串中包含哪些元素,并给出了一些示例以帮助你更好地理解。
在Python编程中,strftime()函数是格式化日期和时间字符串的一种强大的工具。使用它可以将日期/时间格式化为具有特定格式的字符串,便于处理和输出日期时间信息。
