1

ユーザーの場所に関係なく、ユーザーの現地時間に変換したいサーバー時間 (米国の東コスト) があります。ユーザーのタイムゾーンがわかりません。

MongoDB に保存されているサンプルの日付 (UTC 時間) を次に示します。

ISODate("2012-05-03T09:40:34.764Z") which becomes 5/3/2012 5:40:34 AM

これをユーザーの現地時間に変換したい。

私が見ることができるプラグインはありますか、または誰かがプラグインなしでそれを行いましたか?

これは動作していない私のコードです:

var svrDate = new Date('5/3/2012 5:40:34 AM');
var tzo = ((new Date()).getTimezoneOffset() / 60) * (-1);
var userTime = new Date(svrDate.setHours(svrDate.getHours() + tzo)).toLocaleString());
4

3 に答える 3

4

単純:

var d = new Date("2012-05-03T09:40:34.764Z");
alert(d);

私の場合、これは次のように出力されます。

Thu May 03 2012 02:40:34 GMT-0700 (PDT)

カリフォルニアにいるから。

文字列の末尾にある Z は、日付文字列が UTC であることを示します。JavaScript はすでにそれを処理する方法を知っています。現地時間が必要な場合は、通常の getTime()、getMonth()、getDay() メソッドを呼び出すだけです。UTC 時間が必要な場合は、UTC バリアントを呼び出します: getUTCTime()、getUTCMonth()、getUTCDay() など。

于 2012-05-13T18:28:33.943 に答える
1
`//Covert datetime by GMT offset 
//If toUTC is true then return UTC time other wise return local time
function convertLocalDateToUTCDate(date, toUTC) {
    date = new Date(date);
    //Local time converted to UTC
    console.log("Time :" + date);
    var localOffset = date.getTimezoneOffset() * 60000;
    var localTime = date.getTime();
    if (toUTC)
    {
        date = localTime + localOffset;
    }
    else
    {
        date = localTime - localOffset;
    }
    date = new Date(date);
    console.log("Converted time" + date);
    return date;
}
`
于 2014-05-02T07:25:00.963 に答える
1

https://github.com/GregDThomas/jquery-localtimeで jquery-localtime プラグインを見てください- これは UTC 時間を現地時間に変換します。

于 2013-02-12T09:51:06.450 に答える