使用python从未知日期格式中获取年份
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python从未知日期格式中获取年份相关的知识,希望对你有一定的参考价值。
因此,我正在查询服务器以获取特定数据,我需要从返回的日期字段中提取年份,但是例如,日期字段会有所不同:
2009
2009-10-8
2009-10
2017-10-22
2017-10
显而易见的是将日期提取到数组中并获取最大值:(但有问题)
year = max(d.split('-'))
由于某种原因,这会带来误报,因为22似乎是2017年的最高标准,如果将来对服务器的调用导致日期存储为“ 2019/10/20”,也会带来问题。
答案
问题在于,虽然2017 > 22
是'2017' < '22'
,因为它是字符串比较。您可以这样做来解决此问题:
year = max(map(int, d.split('-')))
但是,如果您不介意Long Now Foundation,请考虑使用正则表达式提取任何4位数字:
match = re.search(r'\b\d4\b', d)
if match:
year = int(match.group(0))
以上是关于使用python从未知日期格式中获取年份的主要内容,如果未能解决你的问题,请参考以下文章
python - 如何将带有年份的周数转换为python pandas中的日期时间格式?
从十进制 (8, 0) 格式的日期获取 n-3 或 n-x 个月(约 90 天前),在 SQL Server 和 DB2 中具有年份变化影响