Python | Datetime格式化指令(与ISO C89兼容)

这篇博客介绍了Python中的datetime模块,包括datetime、date和time类型的使用。通过示例展示了如何创建datetime对象,获取日期和时间信息,以及如何进行日期和时间的格式化转换。还提到了strftime和strptime方法在处理日期和时间字符串时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日期和时间
Python内建的datetime模块提供了datetimedatetime类型。datetime类型结合了datetime,是最常使用的:

In [102]: from datetime import datetime, date, time

In [103]: dt = datetime(2011, 10, 29, 20, 30, 21)

In [104]: dt.day
Out[104]: 29

In [105]: dt.minute
Out[105]: 30

根据datetime实例,你可以用datetime提取出各自的对象:

In [106]: dt.date()
Out[106]: datetime.date(2011, 10, 29)

In [107]: dt.time()
Out[107]: datetime.time(20, 30, 21)

strftime方法可以将datetime格式化为字符串:

In [108]: dt.strftime('%m/%d/%Y %H:%M')
Out[108]: '10/29/2011 20:30'

strptime可以将字符串转换成datetime对象:

In [109]: datetime.strptime('20091031', '%Y%m%d')
Out[109]: datetime.datetime(2009, 10, 31, 0, 0)

在这里插入图片描述

Python 的 `datetime` 模块中,日期和时间的格式化输出主要通过 `strftime()` 方法实现。该方法允许将日期或时间对象转换为字符串,并按照指定的格式进行显示。 ### 1. 使用 `strftime()` 格式化日期和时间 `strftime()` 方法支持多种格式化指令,用于定义输出格式。以下是一些常用的格式化代码及其含义: - `%Y`:四位数的年份(如 2023) - `%y`:两位数的年份(如 23) - `%m`:两位数的月份(01 到 12) - `%d`:两位数的日期(01 到 31) - `%H`:小时(24 小时制,00 到 23) - `%I`:小时(12 小时制,01 到 12) - `%M`:分钟(00 到 59) - `%S`:秒(00 到 59) - `%A`:完整的星期名称(如 Monday) - `%a`:简写的星期名称(如 Mon) - `%B`:完整的月份名称(如 January) - `%b` 或 `%h`:简写的月份名称(如 Jan) - `%p`:AM 或 PM - `%z`:UTC 偏移(如果对象是带有时区信息的) #### 示例:格式化当前日期和时间 ```python from datetime import datetime # 获取当前日期和时间 now = datetime.now() # 格式化为 "YYYY-MM-DD HH:MM:SS" 格式 formatted_time = now.strftime("%Y-%m-%d %H:%M:%S") print(formatted_time) # 输出示例:2023-10-05 14:30:45 # 格式化为更可读的形式 readable_format = now.strftime("%A, %B %d, %Y %I:%M %p") print(readable_format) # 输出示例:Thursday, October 05, 2023 02:30 PM ``` ### 2. 对 `date` 和 `time` 对象使用 `strftime()` 除了 `datetime` 对象外,`date` 和 `time` 类同样支持 `strftime()` 方法。 #### 示例:格式化 `date` 对象 ```python from datetime import date # 创建一个 date 对象 d = date(2023, 10, 5) # 格式化为字符串 formatted_date = d.strftime("%d/%m/%Y") print(formatted_date) # 输出:05/10/2023 ``` #### 示例:格式化 `time` 对象 ```python from datetime import time # 创建一个 time 对象 t = time(14, 30, 45) # 格式化为字符串 formatted_time = t.strftime("%I:%M %p") print(formatted_time) # 输出:02:30 PM ``` ### 3. 使用 `strptime()` 解析字符串为 `datetime` 对象 `strftime()` 相反,`strptime()` 可以将格式化的字符串解析为 `datetime` 对象。它需要两个参数:字符串和对应的格式化模式。 #### 示例:将字符串解析为 `datetime` 对象 ```python from datetime import datetime # 字符串表示的日期和时间 date_str = "2023-10-05 14:30:45" # 解析为 datetime 对象 dt = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") print(dt) # 输出:2023-10-05 14:30:45 ``` 通过上述方法,可以灵活地处理日期和时间的格式化需求[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crypto投资小白书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值