判断日期的逻辑是否可以优化一下

使用问题 · 134 次浏览
洛桑LF 创建于 2024-10-05 11:54

简单地说,我有一个文件名叫9550107-XXXX-20241015,前面那个类似于文件编号,但是会给我误判成日期,然后提示有复数个日期,无法更改文件名。我试过增加字母,增加长度等方法都无法避免误识别,我猜可能是0107这个被误判成了月日。但955并不是指955年,我在思考解决办法的时候,想到了能否增加一个白名单,就是发现数字里包含特定组合的不识别成日期。或者自动判断年份范围,只能识别1950~2050之间的年份数字为日期这样。

洛桑LF 最后更新于 2024/10/5

Nian7i 2024-10-05 12:07 :

是的,因为日期格式有很多种,有些数字编号会和日期的格式一样,可能会误判,我在优化下。

Nian7i 2024-10-05 12:34 :

做了点修改,可以试一下

洛桑LF 回复 Nian7i 2024-10-05 16:06 :

可以了,谢谢

洛桑LF 回复 Nian7i 2024-10-05 16:11 :

啊这,刚才又试了另一个文件又不行了,你看看这个文件逻辑是不是也有问题。

W10020477 AA 01-XXXX-240930.pdf

洛桑LF 最后更新于 2024-10-05 16:11
Nian7i 回复 洛桑LF 2024-10-05 16:19 :

240930不太好判定,会和你上面一个550107同时被判定是日期格式,因为也可能会是2055或者1955这种情况,,虽然2055和1955目前不太会用到,但不排除内容中有150107这种,所以去掉了两位数年份的判定。

洛桑LF 回复 Nian7i 2024-10-06 12:50 :

抱歉回晚了,240930就是我的日期编码…我的意思是前面和后面都被判定成了日期,导致改日期是提示了有多个日期。前面那部分我感觉一眼看上去也不像日期吧…

Nian7i 回复 洛桑LF 2024-10-06 12:57 :

是不像,但是无法对所有所有日期样式做判定。情况太多了。也会和类似的编号可能产生误判。

洛桑LF 回复 Nian7i 2024-10-06 13:11 :

好吧,这个确实是难题,说实话在工业生产或者其他一些领域,纯数字代码的产品相当多,这种误判其实还挺麻烦的。想要靠一套逻辑判断所有的日期好像也不可能。或许有个办法,在设置里增加一个判断日期的位置,比如只更改文件名首/末的日期。根据习惯的不同,有人喜欢把日期放前面,有人喜欢放后面,那么只要修改那个日期不管其他的就行了。至少比改不下去要好。

回复内容
暂无回复
回复主贴