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://idctop.com/article/479326.html

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

相关推荐

  • 服务器怎么修改账号密码,服务器修改密码步骤详解

    修改服务器账号密码是保障系统安全的核心操作,最稳妥且通用的方法是通过系统原生命令行工具(如Linux的passwd或Windows的net user)进行修改,同时必须遵循“强密码策略”与“权限最小化原则”,并在修改前后做好连接会话保持与日志审计工作,以防止修改失败导致服务器失联, 核心操作流程:Linux服务……

    2026年3月21日
    12100
  • Python debug调试报错怎么解决?python调试器pdb使用方法

    Python调试的核心在于利用pdb内置模块或IDE断点精准定位逻辑错误,而非盲目打印日志,掌握断点设置、变量监控和堆栈追踪是解决复杂Bug的关键路径,很多开发者在面对Python代码报错时,第一反应往往是满屏的print语句,这种“盲人摸象”式的调试方式效率极低且容易遗漏关键上下文,真正的调试不是猜测,而是观……

    2026年7月7日
    18300
  • 服务器建官网怎么操作?服务器搭建网站详细教程

    服务器搭建官方网站是企业数字化转型的核心基础设施,其稳定性、安全性及访问速度直接决定了品牌形象与业务转化率,一个优质的企业官网不仅是信息的展示窗口,更是数据资产的核心载体,相比于虚拟主机,独立服务器在性能独享、安全配置及扩展性上具备不可比拟的优势,是中大型企业及高流量网站的最佳选择,为何独立服务器是官网建设的基……

    2026年4月7日
    6800
  • 规则引擎数据治理怎么做?具体实施步骤有哪些

    规则引擎数据治理的核心在于建立“数据-规则-执行”的闭环反馈机制,通过标准化元数据管理和全链路血缘追踪,解决规则逻辑与底层数据脱节的痛点,从而确保业务决策的准确性与合规性,在数字化转型的深水区,许多企业发现单纯引入先进的规则引擎技术并不能直接带来业务增长,反而因为数据质量参差不齐、规则逻辑黑盒化导致系统频繁报错……

    2026年7月3日
    400
  • 服务器硬盘RAID模式如何选择?服务器RAID配置方案详解

    服务器的硬盘模式是构建其存储子系统的核心逻辑,直接决定了数据的安全性、访问性能以及存储空间的利用率,服务器的硬盘模式是指将多个物理硬盘驱动器(HDD/SSD)通过特定的技术(如RAID、JBOD、直连)组织起来,形成一个逻辑存储单元(如卷或LUN)的方式, 选择合适的硬盘模式是服务器部署和维护的关键决策, 核心……

    2026年2月11日
    16800
  • 2k23服务器有哪些推荐?,哪个服务器延迟低?

    NBA 2K23的服务器按照地理区域划分为北美、欧洲、亚洲和澳洲四大区域,其中亚洲服务器部署在新加坡和日本,为国内玩家提供相对较低的延迟,2K23服务器区域分布与选择官方服务器列表NBA 2K23的服务器架构基于全球云部署,主要覆盖以下区域:北美:东部(弗吉尼亚、俄亥俄)和西部(加利福尼亚、俄勒冈),面向美国和……

    2026年8月22日
    200
  • 防火墙应用的主要指标为

    防火墙应用的核心性能与效能指标深度解析防火墙应用的核心性能指标主要包括:吞吐量、延迟、并发连接数、新建连接速率、安全策略有效性、资源利用率、高可用性以及管理便捷性, 这些指标共同决定了防火墙在实际网络环境中的防护能力、业务支撑水平和运维效率,是选型、部署、调优及评估防火墙的关键依据, 网络性能基石:吞吐量与延迟……

    2026年2月5日
    13700
  • 网站提示异常怎么解决?网站访问异常排查修复

    网站出现异常时,首要步骤是立即检查服务器日志与网络连接状态,通过排查DNS解析、防火墙拦截及代码错误来定位根源,多数情况下重启服务或清理缓存即可恢复,若涉及底层架构问题则需寻求专业运维支持,当网站突然无法访问或加载缓慢时,恐慌往往比问题本身更消耗精力,网站异常并非单一现象,而是服务器、代码、网络或外部攻击等多种……

    2026年7月4日
    20000
  • 个人网站主页设计模板怎么做?个人网站主页设计模板免费下载

    个人网站主页设计模板的核心在于通过清晰的视觉层级和响应式布局,在3秒内传递品牌核心价值并引导用户转化,而非单纯追求视觉特效,在2026年的数字营销环境中,个人品牌的数字化呈现已不再局限于简单的简历展示,而是演变为一个集身份认同、专业背书与业务转化于一体的微型生态系统,许多创作者和自由职业者仍停留在“有网站就行……

    2026年5月26日
    4300
  • Python环境损坏怎么修复?python安装失败报错怎么办

    Python环境损坏通常由依赖冲突、版本不兼容或磁盘错误引起,最快且最彻底的修复方案是重建虚拟环境并重新安装核心依赖包,当你在终端输入python或import numpy时遇到ModuleNotFoundError、DLL load failed或者更严重的Segmentation fault,这往往意味着你……

    2026年7月7日
    5300

发表回复

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