А пример pastTime можно? Казалось бы, если указать в этой строчке, что часовой пояс Гринвичский, то всё должно быть хорошо.
function relativeTime(pastTime)
{
var origStamp = Date.parse(pastTime);
var curDate = new Date();
var currentStamp = curDate.getTime();
var difference = parseInt((currentStamp - origStamp)/1000);
if(difference < 0) return false;
if(difference <= 5) return "только что";
if(difference <= 20) return "сек";
if(difference <= 60) return "мин";
if(difference < 3600) return parseInt(difference/60)+" мин";
if(difference <= 1.5*3600) return "час";
if(difference < 23.5*3600) return Math.round(difference/3600)+" час";
if(difference < 1.5*24*3600) return "день назад";
var dateArr = pastTime.split(' ');
dateArr[2] = (dateArr[2]);
return dateArr[1]+'.'+dateArr[2]+' | '+dateArr[4].replace(/\:\d+$/,'')+(dateArr[3]!=curDate.getFullYear()?' '+dateArr[3]:'');
}
alert( relativeTime('Wed May 19 10:12:58 +0000 2013') )
alert( relativeTime('Wed May 19 14:12:58 +0400 2013') ) // то же время в московском часовом поясе
P.S. Зачем Вы парсите pastTime split'ом? Постройте лучше из него объект Date и работайте с его методами:
var months = "январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь".split(', ')
function relativeTime(pastTime) {
var origDate = new Date(pastTime);
var curDate = new Date();
var difference = parseInt((curDate - origDate) / 1000);
if (difference < 0) return false;
if (difference <= 5) return "только что";
if (difference <= 20) return "сек";
if (difference <= 60) return "мин";
if (difference < 3600) return parseInt(difference / 60) + " мин";
if (difference <= 1.5 * 3600) return "час";
if (difference < 23.5 * 3600) return Math.round(difference / 3600) + " час";
if (difference < 1.5 * 24 * 3600) return "день назад";
return origDate.getDate() + '.' + months[origDate.getMonth()] + ' | ' + origDate.getHours() + (origDate.getFullYear() != curDate.getFullYear() ? ' ' + origDate.getFullYear() : '');
}
alert( relativeTime('Wed May 19 10:12:58 +0000 2013') )
alert( relativeTime('Wed May 19 14:12:58 +0400 2012') )