Я пытаюсь преобразовать значение datetime Twitter в локальную iso-строку (для prettyDate) сейчас в течение 2 дней. Я просто не получить местное право время ..javascript toISOString() игнорирует смещение временной области
им с помощью следующей функции:
function getLocalISOTime(twDate) {
var d = new Date(twDate);
var utcd = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(),
d.getMinutes(), d.getSeconds(), d.getMilliseconds());
// obtain local UTC offset and convert to msec
localOffset = d.getTimezoneOffset() * 60000;
var newdate = new Date(utcd + localOffset);
return newdate.toISOString().replace(".000", "");
}
в newdate все в порядке, но toISOString() бросает его обратно к первоначальному времени снова ... Может кто-нибудь помочь мне получить местное время в iso из Twitterdate в формате: Чт, 31 Май 2012 08:33:41 +0000
Формат Вы описываете в конце не является форматом [ISO-8601E] (http://dotat.at/tmp/ISO_8601-2004_E.pdf) (см. также [Date.toISOString] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString). Вы можете легко получить желаемый формат, он очень близок к тому, что вы получаете с помощью 'dateObj.toString()'. Попробуйте сыграть с этим – Zirak
Спасибо! Заканчивается: var d = new Дата (twDate); return new Date (d.toISOString(). replace ("Z", "-02: 00")). toISO String() заменить (". 000", ""); Не самое приятное решение, но работает для моего часового пояса. –
Возможный дубликат [Есть ли способ создать это представление строковой даты (с часовым поясом) без использования функций подстроки javascript или регулярного выражения?] (Http://stackoverflow.com/questions/14992051/is-there-any-way – Bergi