JavaScriptのDateオブジェクトに対して、JSON.stringify()メソッドに対するベストプラクティスを教えてください


JavaScriptのDateオブジェクトの扱いについて質問します。
ブラウザ側からサーバにPOSTする時にデータをJSON化して送付することをと試みています。
しかし、JSON.stringify()メソッドにかけると【協定世界時（UTC）】に置き換えられてしまいます。

[code]

    var someDay = new Date(2014,12,2);
    console.log(someDay); --- > Wed Dec 03 2014 00:00:00 GMT+0900 (東京 (標準時))
    console.log(JSON.stringify(someDay)); --> "2014-12-02T15:00:00.000Z"
    
[/code]

サーバサイドでは、この挙動への対処を行いたくないので、ブラウザ側（JS側）で挙動に対する対処を行いたいと考えております。その際のベストプラクティスを教示頂けますと幸いです。




タイムゾーン表記は処理系によってロケールに依存してしまい、上手く動かない場合もあります。 コンピュータの日付は 1970 年 1 月 1 日
00:00:00 UTC からの経過ミリ秒で管理出来ます。 この値さえあれば、どの時刻オフセットに対しても計算で Date
クラスに戻す事が出来ますし、おおよそそのプログラミング言語でも取り扱えます。JavaScript であれば `getTime()` で取得出来ます。

[code]

    var now = new Date();
    console.log(now); // Tue Dec 16 2014 14:50:56 GMT+0900 (東京 (標準時))
    var tm = now.getTime(); // 1418709056398
    
    now = new Date(tm);
    console.log(now); // Tue Dec 16 2014 14:50:56 GMT+0900 (東京 (標準時))
    
[/code]

JSONという表記に拘る必要はありません。どうしてもJSONという事であれば

[code]

    {
        "time": 1418709056398
    }
    
[/code]

の様に `getTime()` した値を保持するのが良いと思います。




タイムゾーン表記は処理系によってロケールに依存してしまい、上手く動かない場合もあります。 コンピュータの日付は 1970 年 1 月 1 日
00:00:00 UTC からの経過ミリ秒で管理出来ます。 この値さえあれば、どの時刻オフセットに対しても計算で Date
クラスに戻す事が出来ますし、おおよそそのプログラミング言語でも取り扱えます。JavaScript であれば `getTime()` で取得出来ます。

[code]

    var now = new Date();
    console.log(now); // Tue Dec 16 2014 14:50:56 GMT+0900 (東京 (標準時))
    var tm = now.getTime(); // 1418709056398
    
    now = new Date(tm);
    console.log(now); // Tue Dec 16 2014 14:50:56 GMT+0900 (東京 (標準時))
    
[/code]

JSONという表記に拘る必要はありません。どうしてもJSONという事であれば

[code]

    {
        "time": 1418709056398
    }
    
[/code]

の様に `getTime()` した値を保持するのが良いと思います。

