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(有时区),建议使用 pytzzoneinfo(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

相关推荐

  • 发短信error怎么解决,是什么原因导致的?

    发短信 error 通常由网络信号不稳定、短信中心号码设置错误、SIM 卡故障或运营商拦截导致,多数情况下可通过手动设置短信中心或重启设备快速解决,发短信 error 怎么解决?从原因到实操全流程信号问题导致发短信 error,怎么办?发短信对信号强度有一定要求,当手机处于弱覆盖区域,比如地下室、电梯或偏远郊区……

    2026年7月24日
    1900
  • gzip坏了怎么修?gzip压缩失效修复方法

    Gzip文件损坏通常无法直接“修复”,最稳妥的方案是使用备份恢复,或借助专业工具尝试提取未损坏的数据块,切勿强行解压以免彻底破坏文件结构,当你双击一个Gzip压缩包却看到“文件已损坏”或“CRC校验失败”时,焦虑是难免的,这就像你精心保存的日记本被水浸湿,页码粘连在一起,很多人第一反应是寻找“一键修复”软件,但……

    2026年6月23日
    2010
  • 服务器如何开启日志记录,服务器日志开启详细教程

    服务器开启日志记录是保障系统安全、优化性能及满足合规审计的基石,这一操作能够为企业提供全链路的可观测性,是运维体系中不可或缺的核心环节,在复杂的IT基础设施中,日志文件充当着“黑匣子”的角色,一旦服务器遭遇突发故障、安全入侵或性能瓶颈,完备的日志数据是进行快速溯源与精准定位的唯一依据,对于任何追求高可用性的业务……

    2026年3月27日
    9900
  • TCP客户端连接服务器至少需要什么参数,如何配置

    TCP客户端要成功连接服务器,至少需要服务器IP地址、端口号,以及传输层采用TCP协议,除此之外超时和缓冲区参数也是保障连接稳定性的基础配置,TCP客户端连接服务器需要哪些核心参数TCP连接本质上是两台主机间建立一条可靠的虚拟通道,客户端必须提供足够的信息让操作系统知道“去找谁”以及“怎么找”,IP地址和端口号……

    2026年7月25日
    700
  • 个人分享文章网站源码怎么搭建?免费开源网站源码下载

    个人分享文章网站源码通常基于WordPress或Hexo等成熟框架二次开发,核心在于轻量化部署与SEO友好配置,建议优先选择开源免费的静态生成方案以保障访问速度与安全性,搭建一个属于自己的个人分享文章网站,不再需要复杂的后端开发知识,对于大多数内容创作者而言,核心诉求并非构建一个庞大的商业平台,而是拥有一个稳定……

    2026年6月14日
    2510
  • 服务器开发是做什么的?服务器开发工程师主要负责什么

    服务器开发的核心工作是构建、维护和优化运行在服务器端的软件系统,确保数据的高效处理、存储与分发,为客户端提供稳定、安全、高可用的后台服务支撑,简而言之,服务器开发工程师负责打造互联网应用的“大脑”与“心脏”,承载着业务逻辑的实现与海量数据的流转,核心职能:构建高并发、高可用的后台架构服务器开发的首要任务是设计并……

    2026年3月29日
    8500
  • 免费个人web服务器有哪些类型,哪个好?

    免费个人web服务器大体分为本地自建服务器、云服务商短期免费试用、静态托管平台、免费VPS(虚拟专用服务器)以及免费虚拟主机五大类,选择时需根据技术栈、流量预期和管理成本综合权衡,本地服务器:最适合开发调试的免费方案本地服务器指在个人电脑或旧设备上安装Web服务软件,直接对外提供服务,这是最基础、最可控的免费方……

    2026年8月23日
    100
  • mc有哪些可以练习侧搭的服务器,怎么练侧搭

    最专业的侧搭练习服务器包括Minemen Club、PvPLegacy、PvPHub以及Hypixel的Bridge模式,其中Minemen Club以其精准的搭路判定和低延迟体验成为众多玩家的首选,什么是侧搭以及为何需要专门练习侧搭(Sideways Bridging)是搭路时配合侧向移动的一种技巧,玩家在搭……

    2026年8月2日
    1400
  • 个人服务器买哪种合适?云服务器和物理服务器怎么选

    对于绝大多数个人用户,首选基于x86架构的二手企业级迷你主机(如联想M720q、戴尔OptiPlex系列),因其性价比极高且扩展性强;若追求极致静音与低功耗,则推荐Apple Mac Mini M4或国产ARM架构开发板,搭建个人服务器不再是大厂专属,如今它已成为极客、开发者及家庭媒体中心用户的标配,面对市场上……

    2026年5月29日
    7000
  • 服务器市场份额多少?2026年全球服务器市场占有率排名分析

    全球服务器市场正处于深度调整与结构性变革的关键时期,核心结论显示:虽然短期内受到宏观经济波动和库存调整的影响,出货量增速放缓,但人工智能(AI)服务器的爆发式增长正在重塑整个市场的竞争格局,传统通用服务器需求趋于稳定,而以GPU为核心的高性能计算服务器成为拉动市场增长的新引擎,未来三年,“智算”将取代“通算”成……

    2026年4月7日
    8100

发表回复

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