このDateTimeOffset 2016-08-01 09:30:00.0000000 -04:00
をSQL ServerデータベースからFullCalendarに渡しています。イベントはレンダリングされているようですが、常に4時間先です。私は、代わりにdatetime2を使用していたときと全く同じことをしていたことに注意したい。私はSQL Serverをチェックして、正しい現在時刻を表示しているので、問題の内容がわからない。ASP.NET MVCを使用したFullCalendarのDateTimeOffset
<script type="text/javascript">
$(document).ready(function()
{
$('#calendar').fullCalendar(
{
header:
{
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
events: "/home/loadevents/"
})
});
</script>
のViewModel:
public class CalendarEventsViewModel
{
//Properties have to conform to the following API standards
//or the FullCalendar.js library will reject all incoming data.
//http://fullcalendar.io/docs/event_data/Event_Object/
public int id { get; set; }
public string title { get; set; }
public DateTimeOffset start { get; set; }
public DateTimeOffset end { get; set; }
}
AcctionResult/LINQの:
public ActionResult LoadEvents (DateTime start, DateTime end)
{
IEnumerable<CalendarEventsViewModel> model =
db.CalendarEvents
.Select(r => new CalendarEventsViewModel
{
id = r.EventID,
title = r.EventName,
start = r.EventScheduleDateTime,
end = r.EventScheduleDateTime,
});
return Json(model, JsonRequestBehavior.AllowGet);
}
編集:
は、ここに私のFullCalendarの実装ですブレークポイントを詳しく見てみると、2016-08-01 09:30:00.0000000 -04:00
をFullCalendarにプッシュするのではなく、8/1/2016 09:30:00 AM
をプッシュしていますが、現地時間よりも4時間遅れて表示されています。 dbとmy viewmodelプロパティの両方でdatetimeoffsetを使用していても、オフセットがlinq文のdbから失われているかどうかはわかりません。上記のコードを追加しました。
編集2:
私が間違っていた、それは私は問題がまだあるかわからないので、{8/1/2016 9:30:00 AM -05:00}
を送信していますようです。私の推測では、これはFullCalendarの要件に準拠していない可能性がありますか?
編集3:私のデータベースで
私が保存され2016-08-01 09:30:00.0000000 -04:00
を持っています。 linqクエリを取得すると、デバッグに応じて8/1/2016 9:30:00 AM -04:00
になります。 FullCalendar.jsに日付/イベントが表示されている場合は、午後1時30分にそれより4時間遅れて表示されます。私はオフセットについて何かを誤解しなければならないが、私は何がわからない。
これで進歩しましたか?私は結果を見ることに興味があります。それは個人的なプロジェクトですか、クライアントのためですか?それが個人的であれば、それを公開リポジトリに持っていますか?私はかなり見てみたい、タイムゾーンのサポートは、私はまだFCでプレーする機会を持っていたものではありません。 –
これはクライアントのための小さなプロジェクトです。私は最後の編集以来何もしておらず、ちょうど立ち上がった。私は、これが動作するためにはすべてのコンポーネントが存在すると確信しています。 –
ブラウザのF12ツール、またはFiddlerのようなHTTPツールを使用して、実際のJSON応答の一部を取得します。イベントデータのJSONはどのように見えますか?私の推測では、ISO8601の代わりに[旧式形式](http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx)を返しています。 –