From 9426ba9901755a405932426aeb3c476ac40b5950 Mon Sep 17 00:00:00 2001 From: anekos Date: Thu, 25 Mar 2010 14:03:35 +0000 Subject: 日付バグ修正 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@37088 d0d07461-0603-4401-acd4-de1884942a52 --- sbmcommentsviewer.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'sbmcommentsviewer.js') diff --git a/sbmcommentsviewer.js b/sbmcommentsviewer.js index 5439685..36c3f58 100644 --- a/sbmcommentsviewer.js +++ b/sbmcommentsviewer.js @@ -261,7 +261,7 @@ var SBM = { //{{{ case 'creator': id = node.textContent; break; case 'link': link = node.textContent; break; case 'date': - date = window.eval('new Date(' + node.textContent.split(/[-T:Z]/,6).join(',') + ')'); + date = stringToDate(node.textContent); break; case 'description': comment = node.textContent; break; case 'subject': tags = node.textContent.split(/\s+/); break; @@ -322,7 +322,7 @@ var SBM = { //{{{ pageURL: 'http://buzzurl.jp/entry/' + json[0].url }); json[0].posts.forEach(function(entry){ - c.add( entry.user_name, window.eval('new Date(' + entry.date.split(/[-\s:]/,6).join(',') + ')'), + c.add( entry.user_name, stringToDate(entry.date), entry.comment ? entry.comment : '', entry.keywords.split(','), { userIcon: url + entry.user_name + '/photo', @@ -372,6 +372,16 @@ function getMD5Hash(str){ var s = [i < hash.length ? toHexString(hash.charCodeAt(i)) : '' for (i in hash)].join(''); return s; } //}}} +/** + * stringToDate {{{ + * @param {String} Date String + * @return {Date} + */ +function stringToDate(str){ + let args = str.split(/[-T:Z]/,6).map(function (v) parseInt(v, 10)); + args[1]--; + return new Date(args[0], args[1], args[2], args[3], args[4], args[5]); +} //}}} /** * evaluateXPath {{{ * @param {Element} aNode -- cgit v1.2.3