2011-12-02 19 views
0

有効なISO8601をJSON文字列から取得していますが、fullcalendarで正しく表示されません。 のSimpleDateFormat DF =新しいてSimpleDateFormat( "YYYY-MM-dd'T'HH:MM:ss.sZ") df.setTimeZone(はTimeZone.getTimeZone( "ヨーロッパ/ベルリン" JAVAフォーマッタと日付形式を作成fullcalendar ISO8601を解析しています。日付が機能しません。

カレンダーの))

設定:

ignoreTimezone:偽、 TIMEFORMAT = H:MM { - H:MM}

JSON結果:

{ 
    "id":1, 
    "title":"Date with Chuck Norris", 
    "start":"2011-12-02T09:30:00.0+0100", 
    "end":"2011-12-02T10:30:00.0+0100", 
    "color":"", 
    "allDay":false 
} 
  • take開始時間9:30はDB値ですが、+0100は認識されないため、表示時間は9:30ですが、間違っているのは10:30でなければなりません。終了日に同じ

...

(それは正しく解析されますが、私は設定上の別の事:) eventRenderやっていることを確認してください取得する:機能(イベント、要素を){ event.start = $ .fullCalendar.parseDate(event.start); //また試しました$ .fullCalendar.parseISO8601() event.end = $ .fullCalendar.parseDate(event.end); //また、$ .fullCalendar.parseISO8601() は}

  • onEventRenderとはparsedata()何もしてみましたが、

  • がonEventRenderとparseISO8601()を試してみましたが起こるを試してみました - >しかし、何も起こらないとJS-エラー(添付ファイル参照:JS-error.png)をjqueryの1.6.3と最新のfullcalendar 1.5.2

    を使用して

は非常に難しありがとうh!

乾杯、私はあなたの日付形式を理解あたりとして

マルコ

答えて

0

[2011-12-02T09:30:+ 0100 00.0]は、ヨーロッパ/ベルリン形式で午前9時30分を意味します。イベントを作成しようとしましたが、システムはGMT形式に設定されており、カレンダーの8:30と表示されています。この形式を渡して同じタイムゾーン(ヨーロッパ/ベルリン)で確認すると、違いは見られません。

+0

賛助会員。あなたの返信のThx。 さて、私はそれを正しくしましたか?私がドイツに住んでいる場合(utc +01:00)、最後に+01:00の例のようにdatetime-stringを取得すると、何も起こりません。 01:00 - range?それは有線です! 私は+02:00のタイムゾーンで生活し、+01:00の同じjson結果なら-1時間= 08:30を作成しますか?私の理解は正しいのですか? その場合、フルカレンダーの解決策は何ですか?助言がありますか?大変ありがとうございます – grailsInvas0r

+0

10:30(+2:00)になるはずです。 fullcalendarでは、作成される日付オブジェクトはクライアントのタイムゾーンにあり、オフセット(60分)はクライアントのタイムゾーンの日付オブジェクトに適用されます。そのことを覚えておく必要があります。私はignoreTimeZoneを置く方が良いと思う:真とサーバー側で処理を行うので、fullcalendarは指定されたdatetimeを表示するだけです。 –

関連する問題