fullcalendar を正常に初期化します。したがって、現在の日付を表します。(深夜→深夜、1日、1時間枠)
他のデータソースから、タイムスタンプ付きのデータを取得します。形式は「YYYY-MM-DD HH:mm」(文字列として送信、タイムゾーン情報なし)
そのため、その文字列をモーメント オブジェクトに変換し、fullcalendar.start および .end に対してテストして、それが含まれているかどうかを確認します。
moment("2016-04-07 00:00") == $('#calendar').fullCalendar('getView').end
これは、次のコマンドでもfalseになります
$('#calendar').fullCalendar('getView').end.format("YYYY-MM-DD HH:mm")
戻り値
"2016-04-07 00:00"
私もdiffと比較してみました
moment("2016-04-07 00:00").diff( $('#calendar').fullCalendar('getView').end,"minutes")
返す
120
Chrome Dev Tools の calendars.end オブジェクトに関するいくつかの調査では、内部的に次のように表されていることが明らかになりました。
2016-04-07 02:00 GMT+0200
これは私には奇妙に見えます。私は GMT の 2 時間前のタイムゾーンにいます。つまり、2016-04-07 00:00 GMT+0200 と正しく表示されるべきではないでしょうか? これは、上記の差分テストが 120 分という結果になった理由も説明しています。
誰か助けてくれませんか?変換の問題がどこから来たのかわかりません。タイムゾーン情報なしで日付のみを使用しています。上記のように、fullcalendar は gotodate 情報なしで初期化し、00:00 から 00:00 までのタイム バーを表示します。では、なぜこの 2 時間の差があるのでしょうか。