Help with find and copy command

I entered the following command

find . -type f \( -newer startdate -a ! -newer enddate \) -exec cp tmp {} \;

I got the following error:

cp: 0653-436 tmp is a directory.
Specify -r or -R to copy.

What's happening here?

-exec cp tmp {} \;

Should be:

-exec cp {} tmp \;

assuming you want to copy the found files to the directory tmp.

hmmmm....it worked.

Thanks.