Python中Dateformatter怎么用?python日期格式化常用方法

在 Python 中,datetime 模块提供了强大的日期和时间处理功能,strftime() 和 strptime() 是用于格式化日期字符串和解析日期字符串的核心方法。

以下是关于 Python 中日期格式化的详细指南:

盘点查看Python版本信息的7种方式
加载中
盘点查看Python版本信息的7种方式

基本用法

1 将 datetime 对象格式化为字符串 (strftime)

strftime(format) 将 datetime 对象转换为指定格式的字符串。

from datetime import datetime
# 获取当前时间
now = datetime.now()
# 格式化日期字符串
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)  # 输出示例: 2026-10-25 14:30:45
# 其他常见格式
print(now.strftime("%Y年%m月%d日"))       # 2026年10月25日
print(now.strftime("%A, %B %d, %Y"))     # Wednesday, October 25, 2026
print(now.strftime("%Y-%m-%d"))          # 2026-10-25
print(now.strftime("%H:%M"))             # 14:30

2 将字符串解析为 datetime 对象 (strptime)

strptime(date_string, format) 将符合特定格式的字符串解析为 datetime 对象。

from datetime import datetime
# 日期字符串
date_string = "2026-10-25 14:30:45"
# 解析为 datetime 对象
parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(parsed_date)       # 2026-10-25 14:30:45
print(type(parsed_date)) # <class 'datetime.datetime'>

常用格式代码表

Python中Dateformatter怎么用?python日期格式化常用方法

格式代码 说明 示例
%Y 四位年份 2026
%y 两位年份 23
%m 月份(零填充) 01-12
%B 月份全称 January, October
%b / %h 月份缩写 Jan, Oct
%d 日期(零填充) 01-31
%A 星期全称 Monday, Wednesday
%a 星期缩写 Mon, Wed
%H 24小时制小时 00-23
%I 12小时制小时 01-12
%M 分钟 00-59
%S 秒 00-59
%p AM/PM AM, PM
%f 微秒 000000-999999
%Z 时区名称 UTC, CST
%z 时区偏移 +0800, -0500
%j 一年中的第几天 001-366
%U / %W 一年中的第几周 00-53

常见应用场景

Python中Dateformatter怎么用?python日期格式化常用方法

1 获取当前日期并格式化

from datetime import datetime
today = datetime.now()
# ISO 8601 格式
iso_format = today.isoformat()
print(iso_format)  # 2026-10-25T14:30:45.123456
# 自定义格式
custom_format = today.strftime("%Y-%m-%d")
print(custom_format)  # 2026-10-25

2 解析不同格式的日期字符串

from datetime import datetime
# 解析带时区的日期
date_str1 = "2026-10-25 14:30:45 +08:00"
dt1 = datetime.strptime(date_str1, "%Y-%m-%d %H:%M:%S %z")
print(dt1)
# 解析中文日期
date_str2 = "2026年10月25日"
dt2 = datetime.strptime(date_str2, "%Y年%m月%d日")
print(dt2)
# 解析英文日期
date_str3 = "October 25, 2026"
dt3 = datetime.strptime(date_str3, "%B %d, %Y")
print(dt3)

3 日期计算与格式化结合

from datetime import datetime, timedelta
# 当前时间
now = datetime.now()
# 昨天
yesterday = now - timedelta(days=1)
print(yesterday.strftime("%Y-%m-%d"))
# 明天
tomorrow = now + timedelta(days=1)
print(tomorrow.strftime("%Y-%m-%d"))
# 一周前
last_week = now - timedelta(weeks=1)
print(last_week.strftime("%Y-%m-%d %A"))

使用 dateutil 库处理复杂日期格式

对于非标准格式的日期,可以使用 python-dateutil 库:

pip install python-dateutil
from dateutil import parser
# 自动识别多种日期格式
date1 = parser.parse("2026-10-25")
date2 = parser.parse("October 25, 2026")
date3 = parser.parse("25/10/2026")  # 注意:这可能因区域设置而异
print(date1)
print(date2)
print(date3)

Python中Dateformatter怎么用?python日期格式化常用方法

注意事项

  1. 时区处理:datetime 对象可以是 naive(无时区)或 aware(有时区),建议使用 pytz 或 zoneinfo(Python 3.9+)处理时区。
  2. 异常处理:strptime() 在格式不匹配时会抛出 ValueError,建议添加异常处理。
  3. 性能考虑:strptime() 和 strftime() 是纯 Python 实现,对于大量数据处理,考虑使用 pandas 或其他高性能库。
from datetime import datetime
try:
    dt = datetime.strptime("invalid-date", "%Y-%m-%d")
except ValueError as e:
    print(f"日期解析错误: {e}")

Python 3.7+ 的 datetime.fromisoformat()

对于 ISO 8601 格式的字符串,可以使用更简洁的方法:

from datetime import datetime
# 解析 ISO 格式
dt = datetime.fromisoformat("2026-10-25T14:30:45")
print(dt)
# 格式化回 ISO 格式
formatted = dt.isoformat()
print(formatted)

这些方法涵盖了 Python 中日期格式化的主要使用场景,根据你的具体需求选择合适的格式代码和方法即可。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/479326.html

赞 (0)
python soupparser怎么用?python解析html标签提取数据
上一篇 2026年7月10日 09:21
H1Z1私人服务器怎么进?H1Z1私人服务器推荐
下一篇 2026年7月10日 09:21

相关推荐

  • 个人网站ip是多少?如何查询个人网站ip

    个人网站IP不仅是衡量流量的技术指标,更是构建数字资产护城河、实现品牌溢价的核心杠杆,其价值远超单纯的访问量统计,在2026年的互联网生态中,流量红利早已见顶,粗放式的流量收割模式彻底失效,对于独立开发者、自由职业者或小型内容创作者而言,拥有一个属于自己的个人网站,并持续积累真实的独立访客(IP),是摆脱平台算……

    2026年5月25日
    4100
  • 高级视频处理方案限时秒杀吗?高级视频处理软件哪个好用

    2026年面对海量视频渲染效率低下与硬件成本攀升的双重困境,参与【高级视频处理方案限时秒杀】是中小企业及创作者获取工业级算力、实现降本增效的最优解,2026视频处理痛点与秒杀破局之道算力瓶颈与成本失控根据【中国信通院】2026年《云原生视听发展白皮书》显示,超85%的创作者在处理4K/8K超高清素材时遭遇渲染排……

    2026年4月26日
    5200
  • 服务器建站助手ftp获取不了目录怎么办,ftp无法获取目录列表解决方法

    服务器建站助手FTP获取不了目录,核心原因通常集中在被动模式配置错误、防火墙端口拦截、用户权限设置不当以及目录路径映射异常四个方面,解决这一问题的关键在于排查FTP传输模式与服务端环境的匹配度,确保数据端口畅通,并核实系统层面的文件访问权限,绝大多数目录获取失败问题,均可通过调整被动模式端口范围并放行防火墙,或……

    2026年3月28日
    11300
  • python while循环怎么用?python while循环语法详解

    Python中的while循环用于在条件为真时重复执行代码块,适合处理未知迭代次数的场景,如实时数据监控或用户交互验证,但需警惕死循环风险,在Python编程的世界里,for循环像是按清单购物,清楚知道要买几样东西;而python while() 则更像是一个不知疲倦的守门员,只有当条件不满足时才会放行,这种机……

    服务器运维 2026年7月8日
    11800
  • 服务器怎么修改IP地址?服务器更改IP对网站有影响吗?

    更改服务器IP地址是网络运维中常见但高风险的操作,其核心结论在于:成功的IP变更不仅依赖于系统层面的配置修改,更取决于事前的充分规划、关联服务的同步调整以及事后的全面验证,任何疏忽都可能导致业务中断、数据不可达甚至安全防线失效,必须建立一套标准化的操作流程,确保变更过程平滑、可控且可回滚,在执行具体操作前,准备……

    2026年2月17日
    20700
  • 服务器接入宽带怎么选?服务器接入宽带配置指南

    服务器接入宽带直接决定了业务数据的传输效率与终端用户的访问体验,核心结论在于:选择并配置服务器宽带并非简单的“带宽越大越好”,而是一项需要综合考量业务类型、并发规模、覆盖范围及成本效益的系统工程,优质的接入方案必须在保障链路高可用性的前提下,实现带宽资源的精准匹配与成本控制,避免因带宽瓶颈导致业务中断,或因资源……

    2026年3月10日
    11600
  • 服务器探针有哪些品牌,服务器探针哪个好用推荐

    在当前复杂的网络运维环境中,服务器探针作为实时监控服务器性能与网络质量的核心工具,其选型直接决定了运维团队对基础设施的掌控能力,综合市场占有率、功能丰富度及社区活跃度来看,当前服务器探针市场已形成“开源系”与“商业系”并驾齐驱的格局,其中ServerStatus、哪吒探针(Nezha)和Zabbix分别代表了轻……

    2026年3月13日
    14700
  • 服务器接路由怎么设置?服务器连接路由器配置步骤

    服务器接入路由器的核心在于构建一个稳定、高效且安全的网络转发路径,其实质是完成网关指向与端口映射的精准配置,正确的连接设置不仅能确保内网设备的互联互通,更是实现外网服务发布的关键环节,若路由设置不当,服务器将面临无法上网、服务无法访问以及数据传输延迟高等严重问题,掌握规范的服务器接路由设置流程,是保障业务连续性……

    2026年3月14日
    11800
  • 大数据分析如何助力城市规划?城市规划大数据应用案例

    大数据分析已成为现代城市规划的核心驱动力,通过整合多源异构数据,它能将传统的经验决策转化为精准的数据驱动决策,显著提升城市运行效率与居民生活质量,大数据重塑城市规划底层逻辑过去,城市规划往往依赖静态的统计年鉴和抽样调查,这种滞后性导致规划方案难以跟上城市快速扩张的步伐,随着物联网传感器、移动终端和互联网平台产生……

    2026年7月5日
    12800
  • 服务器常用存储设备的三大类有哪些?服务器存储设备类型详解

    企业级服务器的性能瓶颈往往最终归结于存储子系统,构建高效、稳定的IT基础设施,必须精准匹配业务需求与存储特性,服务器常用存储设备的三大类——即机械硬盘(HDD)、固态硬盘(SSD)以及磁盘阵列(RAID),构成了数据存储的核心架构,核心结论在于:这三大类设备并非简单的替代关系,而是基于成本、性能与可靠性的分层协……

    2026年4月4日
    9900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注