私はJavascriptの日付の専門家ではないと言わざるを得ません..まったく!たとえば、DateJS を見てきましたが、私の問題は単純な日付変換だけではありません (またはそうあるべきです!)。
簡単な背景: WCF/REST から恐ろしいエポック スタイルの日付を含む JSON データを返すサービス コールがあります (現時点では Webapi を使用できません。ネイティブの JSON.NET を取得できますか?)。
したがって、JSON オブジェクトの日付の例は次のとおりです。
開始日: "/Date(1343378404560+0100)/"
呼び出しから返された JSON には、Wijmo イベント カレンダー オブジェクトに必要な情報がさらに含まれているので、Wijmo イベント オブジェクト用の Javascript 関数/モデルを作成し、jQuery MAP 関数を使用してフィールドのみを選択します。必要。
私のJavascriptイベントモデルは次のようになります:
function wijmoEventModel(in_id, in_calendar, in_subject, in_location, in_start, in_end, in_description, in_colour, in_allday, in_tag) {
this._id = in_id;
this._calendar = in_calendar;
this._subject = in_subject;
this._location = in_location;
this._start = jsonDate(in_start);
this._end = jsonDate(in_end);
this._description = in_description;
this._colour = in_colour;
this._allday = in_allday;
this._tag = in_tag;
// Public Properties/Methods
return {
id: this.id,
calendar: this._calendar,
subject: this._subject,
location: this._location,
start: this._start,
end: this._end,
description: this._description,
color: this._colour,
allday: this._allday,
tag: this._tag
}
};
したがって、jQuery MAP 関数を使用する別の小さな関数があります。
function returnWijmoCalendarObject(diaryEventData) {
// Using jQuery map, reduce our raw event data down to only the required wijmo calendar items
var _calobj = $.map(diaryEventData, function (fld) {
return new wijmoEventModel(fld.ID, fld.ResourceCalendarID, fld.EventTitle, fld.Location, fld.StartDate, fld.EndDate, fld.Description, fld.ResourceColour, fld.AllDay);
});
return {
calendardata: _calobj
}
};
SO 上記の関数は、元の完全な JSON リターンから必要なフィールドを選択するだけで、JavaScript 関数/モデルを使用して、Wijmo イベント カレンダーで使用できる新しい「calendardata」JSON オブジェクトを返します。
エポック スタイルの日付 "/Date(1343378404560+0100)/" を (私が思うに!) 実際の Javascript Date オブジェクトに変換する小さな関数がもう 1 つあります。
function jsonDate(rawDate) {
var d = new Date();
d.setMilliseconds = parseInt(rawDate.substr(6));
return d;
}
したがって、上記の小さな関数はもちろん、上記の最初のコード ブロックで使用され、エポック スタイルの元の日付を Javascript の日付に変換することを期待しています。
私の質問/問題は次のとおりです。
上記のモデルと jQuery マップ関数はうまく機能し、必要な構造のサブセット JSON オブジェクトを取得しますが、返される日付 (wijmoEventModel.start & end) は Javascript の Date オブジェクトとして返されませんか?? そのwijmoEventModelでデバッグすると、JS日付オブジェクトとして日付が確実に含まれますか??
明らかに、ここでいくつかの重要で基本的な側面が欠けている/理解していません!!!
お願いします!これが私を夢中にさせているので、誰かが助けてくれるなら...
デビッド。