Python Parse Date String示例
使用datetime.strptime()可将日期字符串转换为datetime对象,1. 基本用法:通过"%Y-%m-%d"解析"2023-10-05"为datetime对象;2. 支持多种格式如"%m/%d/%Y"解析美式日期、"%d/%m/%Y"解析英式日期、"%b %d, %Y %I:%M %p"解析带AM/PM的时间;3. 可用dateutil.parser.parse()自动推断未知格式;4. 使用.date()方法提取纯日期部分;关键是要确保格式字符串与输入严格匹配,否则会抛出ValueError。
解析日期字符串是 Python 中常见的操作,datetime
模块的 strptime()
方法是最常用的方式。下面是一个实用的例子,展示如何将常见格式的日期字符串转换为 datetime
对象。

基本用法:使用 datetime.strptime()
from datetime import datetime date_string = "2023-10-05" date_object = datetime.strptime(date_string, "%Y-%m-%d") print(date_object) # 输出: 2023-10-05 00:00:00
这里 %Y-%m-%d
是格式化字符串:
%Y
:4 位年份(如 2023)%m
:2 位月份(01-12)%d
:2 位日期(01-31)
常见日期格式示例
你可以根据不同的字符串格式调整格式化代码:

from datetime import datetime # 示例 1: 带时间的 ISO 格式 dt1 = datetime.strptime("2023-10-05 14:30:00", "%Y-%m-%d %H:%M:%S") # 示例 2: 美式日期格式 dt2 = datetime.strptime("10/05/2023", "%m/%d/%Y") # 示例 3: 英式日期格式 dt3 = datetime.strptime("05/10/2023", "%d/%m/%Y") # 示例 4: 带 AM/PM 的时间 dt4 = datetime.strptime("Oct 5, 2023 2:30 PM", "%b %d, %Y %I:%M %p") print(dt1) # 2023-10-05 14:30:00 print(dt2) # 2023-10-05 00:00:00 print(dt3) # 2023-10-05 00:00:00 print(dt4) # 2023-10-05 14:30:00
常用格式代码速查
%Y
:四位年份(2023)%y
:两位年份(23)%m
:月份(01-12)%B
:完整月份名(October)%b
:缩写月份名(Oct)%d
:日期(01-31)%H
:小时(00-23,24小时制)%I
:小时(01-12,12小时制)%M
:分钟(00-59)%S
:秒(00-59)%p
:AM 或 PM
处理多种格式(自动推断)
如果你不确定字符串格式,可以使用第三方库 dateutil
:
from dateutil import parser dt = parser.parse("5 October 2023") print(dt) # 2023-10-05 00:00:00 dt2 = parser.parse("2023/10/05") print(dt2) # 2023-10-05 00:00:00
需要先安装:
pip install python-dateutil
小技巧:提取日期部分
如果你只需要 date
类型(不要时间):
date_only = datetime.strptime("2023-10-05", "%Y-%m-%d").date() print(date_only) # 2023-10-05,类型是 datetime.date
基本上就这些常见用法。关键是记住格式字符串要和输入字符串严格匹配,否则会抛出 ValueError
。
以上是Python Parse Date String示例的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT
人工智能驱动投资研究,做出更明智的决策

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Optional是Java8引入的容器类,用于明确表示一个值可能为空,从而避免NullPointerException;2.它通过提供map、orElse等方法简化嵌套null检查、防止方法返回null以及规范集合返回值;3.最佳实践包括仅用于返回值、避免字段或参数使用、区分orElse与orElseGet、不直接调用get();4.不应滥用Optional,如非空方法无需包装,流中应避免不必要的Optional操作;正确使用Optional能显着提升代码安全性与可读性,但需配合良好的编程习惯。

Chrome书签编辑简单且实用,用户可通过快捷键Ctrl Shift O(Windows)或Cmd Shift O(Mac)进入书签管理器,也可通过浏览器菜单进入;1.编辑单个书签时,右键点击选择“编辑”,修改标题或网址后点击“完成”保存;2.批量整理书签时,可在书签管理器中按住Ctrl(或Cmd)多选书签,右键选择“移至”或“复制到”目标文件夹;3.导出和导入书签时,点击“整理”按钮选择“导出书签”保存为HTML文件,需要时再通过“导入书签”功能恢复。

首先,checkforphysicalissueslikedebrisordamageandcleanthekeyboardestestesternone; 2.TestTheEnterKeyIndifferentAppStoDeTermineIftheissueSueIssoftware; 3.RestyourComputerComputerComputerComputerComputorToreSolvetEmporaryGlitches; 4.disablestickykeys; 4.disablestickykeys,calter filtergleglekeys,ortogglek

AmemoryleakinJavaoccurswhenunreachableobjectsarenotgarbagecollectedduetolingeringreferences,leadingtoexcessivememoryusageandpotentialOutOfMemoryError.Commoncausesincludestaticcollectionsretainingobjectsindefinitely,unclosedresourceslikestreamsorconne

Wrapperclassesareusedtoconvertprimitivedatatypesintoobjects,enablingtheiruseincollections,allowingnullvalues,providingutilitymethods,andsupportingautoboxing/unboxing.1.TheyallowprimitivestobeusedincollectionslikeArrayList,whichonlyacceptobjects.2.The

使用max()和min()方法结合Comparator可找到流中的最大值和最小值,例如通过Comparator.naturalOrder()或Integer::compareTo比较基本类型;2.对于自定义对象,使用Comparator.comparing()基于特定字段比较,如Person::getAge;3.由于结果是Optional,必须处理空流情况,可使用isPresent()检查或orElse()提供默认值,推荐对基本类型使用IntStream等以避免装箱开销并提升性能,最终应始终妥善

0x00前言Kerberos由麻省理工学院创建,作为解决这些网络安全问题的解决方案。是一种通过网络提供安全验证处理的客户机/服务器体系结构。通过验证,可保证网络事务的发送者和接收者的身份真实。该服务还可以检验来回传递的数据的有效性(完整性),并在传输过程中对数据进行加密(保密性)。0x01漏洞描述拥有受害网络访问权限的攻击者可以通过建立中间(MITM)攻击或其他本地网络欺骗技术来利用此漏洞,然后向客户端受害者电脑发送恶意Kerberos消息,并假冒是Kerberos身份验证服务器。0x02CVE

使用DecimalFormat可以精确控制数字格式。1.使用模式字符串如"#,###.##"进行基本格式化,其中#表示可选数字,0表示必显数字,,为千位分隔符,.为小数点;2.常见模式包括"0.00"保留两位小数、"0,000.000"补零对齐等;3.避免科学计数法可通过设置setScientificNotation(false)或使用足够位数的模式;4.可通过setRoundingMode()设置舍入模式,如HALF_UP、DOWN等
