javascriptプログラムを日本時間に直す方法
twitterをHTMLサイトに埋め込むために
「Add Twitter to your blog」
というJavaScriptで書かれたものを使用しているのですが、
表示時間が日本時間ではなくアメリカのどこかの時間(?)で表示されてしまいます。
9時間ズレです。
これを修正しようとしたのですが、上手いことできません。
どこを修正すればよいのかご教授願います。
時間に関係していると思われる部分のソースを載せます。
-----ここから-----
function relative_time(time_value) {
var values = time_value.split(" "),
parsed_date = Date.parse(values[1] + " " + values[2] + ", " + values[5] + " " + values[3]),
date = new Date(parsed_date),
relative_to = (arguments.length > 1) ? arguments[1] : new Date(),
delta = parseInt((relative_to.getTime() - parsed_date) / 1000),
r = '';
function formatTime(date) {
var hour = date.getHours(),
min = date.getMinutes() + "",
ampm = 'AM';
if (hour == 0) {
hour = 12;
} else if (hour == 12) {
ampm = 'PM';
} else if (hour > 12) {
hour -= 12;
ampm = 'PM';
}
if (min.length == 1) {
min = '0' + min;
}
return hour + ':' + min + ' ' + ampm;
}
function formatDate(date) {
var ds = date.toDateString().split(/ /),
mon = monthDict[date.getMonth()],
day = date.getDate()+'',
dayi = parseInt(day),
year = date.getFullYear(),
thisyear = (new Date()).getFullYear(),
th = 'th';
// anti-'th' - but don't do the 11th, 12th or 13th
if ((dayi % 10) == 1 && day.substr(0, 1) != '1') {
th = 'st';
} else if ((dayi % 10) == 2 && day.substr(0, 1) != '1') {
th = 'nd';
} else if ((dayi % 10) == 3 && day.substr(0, 1) != '1') {
th = 'rd';
}
if (day.substr(0, 1) == '0') {
day = day.substr(1);
}
return mon + ' ' + day + th + (thisyear != year ? ', ' + year : '');
}
delta = delta + (relative_to.getTimezoneOffset() * 60);
if (delta < 5) {
r = 'less than 5 seconds ago';
} else if (delta < 30) {
r = 'half a minute ago';
} else if (delta < 60) {
r = 'less than a minute ago';
} else if (delta < 120) {
r = '1 minute ago';
} else if (delta < (45*60)) {
r = (parseInt(delta / 60)).toString() + ' minutes ago';
} else if (delta < (2*90*60)) { // 2* because sometimes read 1 hours ago
r = 'about 1 hour ago';
} else if (delta < (24*60*60)) {
r = 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
} else {
if (delta < (48*60*60)) {
r = formatTime(date) + ' yesterday';
} else {
r = formatTime(date) + ' ' + formatDate(date);
// r = (parseInt(delta / 86400)).toString() + ' days ago';
}
}
-----ここまで-----
以下は、「Add Twitter to your blog」を配布しているサイトです。
http://remysharp.com/2007/05/18/add-twitter-to-your-blog-step-by-step/
よろしくお願いいたします。