テスト環境のローカル コンピューターで ASP.NET Web サービスを実行しています。ローカル コンピューターの UTC 時間は +1 (デンマーク) です。これで、JavaScript クライアントでこれらのメソッドを使用できるようになりました。
[WebMethod(EnableSession=true)]
public DateTime GetDateTime() {
return new DateTime(2013,3,15,10,0,0);
}
[WebMethod(EnableSession=true)]
public void SetDateTime(DateTime DT) {
}
JavaScript から最初のメソッドを呼び出して、渡された DateTime をアラートすると、午前 10 時の時刻が正しく表示されます: 'Fri Mar 15 2013 10:00:00 GMT+0100 (Romance Standard Time)'オブジェクトを Web サーバーに戻します。しかし、このオブジェクトをデバッグすると、DateTime は現在午前 9 時です。どうして?クライアントとサーバーは同じマシン上で実行されます。DateTime.SpecifyKind をいじってみましたが、全体として結果は同じです。クライアントは、時刻がサーバーに送り返されるときに 1 時間を減算します。
この件についての理解を深めるお手伝いができれば幸いです。
前もって感謝します。