使用datetime.strptime从字符串中获取日期的Python方法

2 投票
1 回答
1824 浏览
提问于 2025-04-16 18:29

我有一串这样的数字:
s = 3851102123

我的目标是从中提取出日期。
在这个例子中:
85 是年份
11 是月份
02 是日期

简单来说,字符串中的索引1和2代表年份,3和4代表月份,5和6代表日期。
其余的部分可以忽略掉。这是我想到的办法:

>> x = datetime.strptime("3851102123", ??)

那么,应该如何提取正确的索引呢?

我是否应该在括号里使用正则表达式来提取日期,然后重新格式化这个字符串呢?

输出应该是这样的:

>> 02.11.1985 

1 个回答

1

我不太确定你能不能这样做,因为strptime这个函数需要一个格式字符串,而这个格式字符串不允许有可变的字段(如果你想让格式忽略字符串的第一个数字,就需要这样)。

你可以试试这样做: datetime.strptime(the_string[1:7], "%y%m%d").strftime("%d.%m.%Y")

不过,使用子字符串或者正则表达式可能会更快。

撰写回答