As Arkham_c points out, this is what Perl's Date:

arse module is for but if you want a raw solution in bash, you can use the following sh functions. Repeated calls to the inc_hour function will actually increment the year, month day and hour varibles so that when concatenated they will match the sequence of numbers appended to your file names. I've included the loop I used to test it, to give you an idea of usage but I haven't any idea what you really want to do with the files.
script
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
year=00
month=01
day=01
hour=00
max_days=( 31 28 31 30 31 30 31 31 30 31 30 31 )
function inc_year
{
year=${year#0}
if [ "$year" -lt "9" ]; then
let "year += 1"
year="0"$y ear
else
let "year += 1"
fi
}
function inc_month
{
month=${month#0}
if [ "$month" -eq "12" ]; then
inc_yea r
month=0 1
elif [ "$month" -lt "9" ]; then
let "month += 1"
month="0"$ month
else
let "month += 1"
fi
}
function inc_day
{
day=${day#0}
let "tmp_month = ${month#0} - 1"
if [ "$day" -eq "${max_days[tmp_month]}" ]; then
inc_mon th
day=01
elif [ "$day" -lt "9" ]; then
let "day += 1"
day="0"$da y
else
let "day += 1"
fi
}
function inc_hour
{
if [ "$hour" -eq "18" ]; then
inc_day
hour=00
elif [ "$hour" -eq "00" ]; then
hour="0 6"
else
let "hour += 6"
fi
}
for (( i=0; i < $2; i++ )); do
inc_hour
if [ $i -gt $1 ]; then
echo "files$year$month$day$hour"
fi
done
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Even if this proves useful, it also shows the potential value in powerful tools like those available in Perl or Python.