いろいろ考えた結果、getTimezoneOffsetで時差を求めて、その分時間を進めたり、戻したりすればいいのかという結論にたどり着いたのだが、もっと簡単な方法を見つけたのでまとめておく。
ローカル時刻 から グリニッジ標準時(GMT)や協定世界時(UTC) に変換する
var date = new Date('2016-04-01 05:00:00+09:00');
date.toUTCString();
// → "Thu, 31 Mar 2016 20:00:00 GMT"
// 年: 2016
date.getUTCFullYear();
// 月: 3
date.getUTCMonth() + 1;
// 日: 31
date.getUTCDate();
// 時: 20
date.getUTCHours();
// 分: 0
date.getUTCMinutes();
// 秒: 0
date.getUTCSeconds();
※ getMonthはゼロ始まりなので、+1する必要がある。
グリニッジ標準時(GMT)や協定世界時(UTC) から ローカル時刻 に変換する
var date = new Date('2016-03-31 20:00:00+00:00');
date.toUTCString();
// → "Thu, 31 Mar 2016 20:00:00 GMT"
// 年: 2016
date.getFullYear();
// 月: 4
date.getMonth() + 1;
// 日: 1
date.getDate();
// 時: 5
date.getHours();
// 分: 0
date.getMinutes();
// 秒: 0
date.getSeconds();
参考サイト
以上
written by @bc_rikko
0 件のコメント :
コメントを投稿