2

エンティティの開始日と終了日を設定するフォームがあります。

Web Api 側では、日付をデータベースに保存する前に、開始日:2013-09-25 00:00:00.000と終了日をに設定しまし2013-09-26 23:59:59.000た。

var vote = (VotingSet)Entity;
vote.Start = new DateTime(vote.Start.Year, vote.Start.Month, vote.Start.Day, 0, 0, 0, 0);
vote.End = new DateTime(vote.End.Year, vote.End.Month, vote.End.Day, 23, 59, 58);

これは、残りのサービスに送信される JSON からのもので、次のようになります。

  • 始める:"2013-09-25T00:00:00.000Z"
  • 終わり:"2013-09-26T00:00:00.000Z"

保存後、javascript クライアントで、エンティティは新しいキーとサーバーから取得したプロパティで更新されます。

観測可能な日付オブジェクトには次の値があります

  • 開始: 2013 年 9 月 25 日水曜日 03:00:00 GMT+0300 (GTB 夏時間)
  • 終了: 2013 年 9 月 27 日 (金) 02:59:58 GMT+0300 (GTB 夏時間)

これは私がサーバーから戻ってきたものです

  • 始める:"2013-09-25T00:00:00.000"
  • 終わり:"2013-09-26T23:59:58.000"

オブジェクトの時間が変更されていないことを確認するにはどうすればよいですか?

編集:

ここには、javascript の日時で何が起こっているかについての良い説明があります。

最後に、私はこれを切り抜いて問題を解決しました: Breeze.DataType.parseDateFromServer = function (source) { var date = moment(source); date.toDate(); を返します。}; 日時に時間オフセットを追加して、簡単な独自の関数をオーバーライドします。

4

2 に答える 2