Guest User

Untitled

a guest
Jan 22nd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. /**
  2. * setTimezoneOffset() メソッドは、指定された日時のタイムゾーンを擬似的に設定し
  3. * ます。設定後の時刻のタイムゾーンは、元の時刻のタイムゾーンのものと同じで
  4. * す。
  5. * @param {String} offsetString タイムゾーンオフセットを表す "+0900" や
  6. * "-0430" のような5文字の文字列。4文字の数字からなる "0600" のような文字列
  7. * が与えられた場合は先頭に"+"を付け加えてから処理を行います。
  8. * @return {Number} 協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された
  9. * 日時までの間のミリ秒単位の数値。
  10. */
  11.  
  12. if (!Date.prototype.setTimezoneOffset) {
  13. Date.prototype.setTimezoneOffset = function (offsetString) {
  14. if (offsetString.length < 4) {
  15. return;
  16. }
  17. if (offsetString.length === 4) {
  18. if (!isNaN(parseInt(offsetString.charAt(0)))) {
  19. offsetString = "+" + offsetString;
  20. }
  21. else {
  22. return;
  23. }
  24. }
  25. var sign = offsetString.substr(0, 1);
  26. var hour = parseInt(sign + offsetString.substr(1, 2));
  27. var offset = hour * 60 + parseInt(sign + offsetString.substr(3, 2));
  28. var utc = new Date(this.getTime() + this.getTimezoneOffset() * 60 * 1000);
  29. return this.setTime(utc.getTime() + offset * 60 * 1000);
  30. };
  31. }
  32.  
  33. // 使用例
  34. var now = new Date(); //地方時
  35. console.log('loc',now);
  36. var jstTime = now.setTimezoneOffset('+0900'); //jst
  37. console.log('jst',now);
  38. var pdtTime = now.setTimezoneOffset('-0700'); //pdt
  39. console.log('pdt',now);
Add Comment
Please, Sign In to add comment