Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * setTimezoneOffset() メソッドは、指定された日時のタイムゾーンを擬似的に設定し
- * ます。設定後の時刻のタイムゾーンは、元の時刻のタイムゾーンのものと同じで
- * す。
- * @param {String} offsetString タイムゾーンオフセットを表す "+0900" や
- * "-0430" のような5文字の文字列。4文字の数字からなる "0600" のような文字列
- * が与えられた場合は先頭に"+"を付け加えてから処理を行います。
- * @return {Number} 協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された
- * 日時までの間のミリ秒単位の数値。
- */
- if (!Date.prototype.setTimezoneOffset) {
- Date.prototype.setTimezoneOffset = function (offsetString) {
- if (offsetString.length < 4) {
- return;
- }
- if (offsetString.length === 4) {
- if (!isNaN(parseInt(offsetString.charAt(0)))) {
- offsetString = "+" + offsetString;
- }
- else {
- return;
- }
- }
- var sign = offsetString.substr(0, 1);
- var hour = parseInt(sign + offsetString.substr(1, 2));
- var offset = hour * 60 + parseInt(sign + offsetString.substr(3, 2));
- var utc = new Date(this.getTime() + this.getTimezoneOffset() * 60 * 1000);
- return this.setTime(utc.getTime() + offset * 60 * 1000);
- };
- }
- // 使用例
- var now = new Date(); //地方時
- console.log('loc',now);
- var jstTime = now.setTimezoneOffset('+0900'); //jst
- console.log('jst',now);
- var pdtTime = now.setTimezoneOffset('-0700'); //pdt
- console.log('pdt',now);
Add Comment
Please, Sign In to add comment