2016-09-29 6 views
1

エンティティフレームワーク(バックエンド)からJavascript(フォントの最後)に日付時刻を正しく変換する方法がありません。javacriptのEntity Frameworkから正しい日付を取得する方法

私のC#プロジェクトでは、日付はEntity FrameworkのSQL Serverデータベースに対するクエリから作成され、datetime.Kind = unspecifiedというローカル形式です。

私はWebSocketサービスで日付を送信します。日付はjson構造のようにシリアライズされます。2016/22/09T12:04:00

私はAngular2を使用したウェブ側で、日付はタイムゾーンで解析されます。

ですので、2016/22/09T12:04:002016/22/09T12:04:00+02:00Z = 2016/22/09T14:04:00に変換されます。

この問題を処理する最善の方法は何ですか?サーバー側で?クライアント側では?

答えて

2

DateTimeの値をDateTimeOffset(.Netタイプ)に変換してクライアントに返すと、正しく処理されます。

SQLデータベースを変更できる場合は、日付を最も正確な形式で表すため、datetimeoffset(SQLタイプ)に日付を保持する方がよいでしょう。

古いタイプを使用している場合は、少なくとも現地時間の代わりにUTCで日付を保持することを検討できます。あなたは、昼間の光の時間の切り替えのためにいくつかの驚きを得るかもしれません。

+0

完璧な対応、ありがとうございます! SQL Serverでdatetimeoffsetを使用するようにデータベースを移行しました。 DateTimeOffsetを設定すると、Web APIの応答でシリアル化された日時に正しいタイムゾーンが追加されます。 – abreneliere

関連する問題