Your question doesn't make clear what timestamp you want to use.
It appears from your code that you want to use the time that the script was run as the timestamp on the file, as opposed to the timestamp of the original file you were copying.
If that's the case, may I suggest:
use File::Copy;
my ($sec, $min, $hour) = localtime();
foreach my $upload (@uploads) {
my $newName = $upload;
$newName =~ s/\.zip$/${hour}:${min}:{sec}.zip/;
copy ($logSite . ${upload}, $localCpPath . $newName)
or die "Failed to copy "$upload";
print "File $upload has been copied over and renamed $newName\n";
}