如何使用正则表达式增加日期

时间:2013-08-21 11:59:14

标签: regex devexpress

所以,我有一个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解决这个问题?

2 个答案:

答案 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)

我相信可能有一种方法,但在实际情况下,它的价值远非复杂。因此,通过简单易行,这是不可能的。