所以,我有一个spinEdit应该以yyyyMM格式显示年份和月份。我正在使用RegEx来屏蔽该格式的值,但是当我想从201212增加到201301时,它会失败并显示20121.我正在使用的RegEx看起来像这样
([0-9][0-9][0-9][0-9])(0[1-9])|(1[0-2])
问题在于,当月份为12时,递增值(加1到月)不会递增年份字段。反之亦然,减少值(减1个月)不会减少年份,201301 - 1将它带到2013年。有没有办法使用RegEx解决这个问题?
答案 0 :(得分:0)
我认为这是可能的,但不是完全正则表达式解决方案,你需要有linux和bash可用(我个人在bash ve中找到日期函数)我必须在文件名中获取日期格式(字符串)并比较它到脚本中的日期。以下是代码段:
#!/bin/bash
#yyyymm you got after regex
inputdate = 201307
#value you want to subtract
x = 8
#outputdate should return you 201211
outputdate = $(date -d "$inputdate01 -$x month" +"%Y%m")
答案 1 :(得分:0)
我相信可能有一种方法,但在实际情况下,它的价值远非复杂。因此,通过简单易行,这是不可能的。