我有一個jQuery函數的getJSON一個問題,操作URL不會觸發因爲我傳遞的參數之一是一個JavaScript日期,但該行動預計C#的DateTime ..javascript日期和JSON日期時間
是否有可能格式化Javascript日期以使它與c#DateTime兼容?
我有一個jQuery函數的getJSON一個問題,操作URL不會觸發因爲我傳遞的參數之一是一個JavaScript日期,但該行動預計C#的DateTime ..javascript日期和JSON日期時間
是否有可能格式化Javascript日期以使它與c#DateTime兼容?
我會建議使用Datejs庫(http://www.datejs.com/)。從我有限的經驗來看,這太棒了。
使用此功能從Mozilla Date documentation採取:
/* use a function for the exact format desired... */
function ISODateString(d){
function pad(n){return n<10 ? '0'+n : n}
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z'
}
.NET不會有任何問題處理一個ISO格式的日期。您可以使用DateTime.Parse(...)
來處理ISO格式的字符串。
如果你想一個解決方案來從JSON表示一個Javascript日期(/日期(1350035703817)/),你可以使用this function:
function parseJsonDate(jsonDate) {
var offset = new Date().getTimezoneOffset() * 60000;
var parts = /\/Date\((-?\d+)([+-]\d{2})?(\d{2})?.*/.exec(jsonDate);
if (parts[2] == undefined)
parts[2] = 0;
if (parts[3] == undefined)
parts[3] = 0;
return new Date(+parts[1] + offset + parts[2]*3600000 + parts[3]*60000);
};
爲我工作一樣的魅力。
我用這個函數比上面的要短。
function ParseJsonDate(dateString) {
var milli = dateString.replace(/\/Date\((-?\d+)\)\//, '$1');
var date = new Date(parseInt(milli));
return date;
}
還發現,將它們轉換回來的方法:
function ToJsonDate(date) {
return '\/Date(' + date.getTime() + ')\/';
}
這似乎並不關心這個,有時追加到JSON日期時區信息。 – crush 2013-03-11 15:51:59