2011-02-02 3 views
0

.NET MVCアプリケーションでFullCalendarを試しています。データを取得するときにstarDateおよびendDateパラメータに問題があります。startDateパラメータの値が3am insted 12amに設定されています

Northwindデータベース、Ordersテーブルを使用していて、1996年8月にカレンダーを設定しています。カレンダーは7月28日(日曜日)から9月7日(土曜日)まで表示されますが、データを取得するとき、startDateは "838522800" 「7月28日03:00 am」です。 Northwindデータベースの注文には時間が格納されていないため(午前12時に設定されています)、8月のカレンダーを表示すると7月28日の注文は表示されません。私はC#の日時にUnixのタイムスタンプを変換するために使用してい

機能はここから借りました:http://codeclimber.net.nz/archive/2007/07/10/convert-a-unix-timestamp-to-a-.net-datetime.aspx

なぜFullcalendarは午前3時たstartDateのデータをフェッチしていますか?どのように解決することができますか?

+0

UNIXのタイムスタンプはどこから来ていますか? –

+0

FullCalendarが送信しています。カレンダーに表示されている実際の月から計算されます。 – Andrea

答えて

0

ちょうど何が起こっているかを見つけました... JavascriptはUTCでタイムスタンプを送信します。 3つのHSの違いは、Windowsのタイムゾーン(UTC-3) は日時にUnixのタイムスタンプに変換するC#の機能で「ToLocalTimeを()」を追加し、それを修正する予定だったので、私はこの変更:これに

var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); 
return origin.AddSeconds(timestamp); 

を:

var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); 
return origin.AddSeconds(timestamp).ToLocalTime(); 
関連する問題