Yes. You can specify the two dates and modify the test like this:
Code:
#!/bin/bash
initime="2008-03-01 00:00"
endtime="2008-03-31 23:59"
find /path/to/dir -type f -exec ls -l --time-style +"%Y-%m-%d %H:%M" {} \; | while read line
do
filetime=$(echo $line | gawk '{print $6,$7}')
file=$(echo $line | gawk '{print $NF}')
test "$filetime" \> "$initime" -a "$filetime" \< "$endtime" && echo $file
done
Here I've used the version with the find command because I noticed that the output of ls -l gives an extra line with the total. Furthermore it lists also the directories and would have moved them as well. Anyway, if you don't want to recurse inside directories, simply add the option "-maxdepth 1" to the find command.
Note that the test does a string comparison, but dates in the format YYYYMMDD HHMM are ordered either alphabetically and numerically. So you can safely do comparison in this way. If you had a format like MM/DD/YYYY this would not be valid anymore!