首页 > 解决方案 > 如何检查字符串日期格式是否可排序?

问题描述

给定一个包含日期时间格式的字符串,我想告诉用户它是否可以按字符串排序。

例如:

我的方法是解析字符串并检查我们是否遵循以下顺序:

这种方法很乏味,有没有一种简单有效的方法来完成这个?

标签: pythonsortingdatetime

解决方案


关键是只选择存在的标记,然后查看它们的顺序是否正确:

def is_sortable(format_string):
     markers = ['%Y', '%m', '%d', '%H', '%M', '%s']
     indices = [format_string.index(marker) for marker in markers if marker in format_string]
     return indices == sorted(indices)

如果索引的顺序不正确,则字符串不可排序。

is_sortable('%Y-%m-%d %H:%M:%S')
True
is_sortable('%d-%m')
False

干杯


推荐阅读