You didn't define what you mean by "valid timezone" -- do you mean local timezone? (UTC is a perfectly valid timezone, after all--or at least it is if you're in the Western European Time Zone and it's not British Summer Time…)
If you have a UTC date and you want to turn it into a date in the local timezone, that's straightforward:
function UTCtoLocal(inDate) {
// inDate can be null, a string or an object
// if it's an object, it can be a date or event
var localDate = new Date();
var utcDate = new Date().toUTCString();
if (inDate) {
if (typeof inDate == "string") {
utcDate = inDate;
}
else {
if (inDate.getDay) { // is it really a date?
utcDate = inDate.toString();
}
}
}
utcDate = utcDate.substr(0, utcDate.length-3);
localDate.setTime(Date.parse(utcDate));
return localDate;
}