Hatena::ブログ(Diary)

ねじろぐ @drillbits このページをアンテナに追加 RSSフィード

2010/01/27

メモ:JavaScript で システム時刻から別のタイムゾーンの時刻へ変換

あくまでもクライアントのPCの設定時刻基準。
公開NTPサーバから正確な時刻を取得するのはまたあとで。

(追記:2010/01/27 23:51)
NiCTの公開NTPサーバならhttpで取得できそうだったから、Ajaxでごにょごにょできるかと思ったんだけど、そんなに頻繁にアクセスするとアレなのでヤメ。
普通にシステム時刻か、サーバ側でやれってことね…

var d = new Date();
// クライアントPCシステム時刻
var localTime = d.getTime();
// localTimeのタイムゾーン差分(ミリ秒)
var localOffset = d.getTimezoneOffset() * 60000;
// UTC時刻(ミリ秒)
var utc = localTime + localOffset;
// 考慮したいタイムゾーンの差分(時間)ex.バンクーバは-8時間
var offset = -8.0;
// これで目的のミリ秒がでるので
var result = utc - (3600000 * offset);
d = new Date(result);
// あとは煮るなり焼くなり
document.writeln(d.toLocaleString() + "<br>");

var yyyy = (d.getYear() < 2000) ? d.getYear() + 1900 : d.getYear();
var mm = d.getMonth() + 1;
var dd = d.getDate();
var hh = d.getHours();
var ii = d.getMinutes();
var ss = d.getSeconds();

document.writeln(yyyy + "/" + mm + "/" + dd + " " + hh + ":" + ii + ":" + ss + "<br>");

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証