IEnumerable<Credit.Models.c_creditLevelDetail> cCLD = acld.Gets(pageIndex, Credit.ActionData.PagingInfo.PageSize, out recordCount); return Json(new { Data = cCLD, Total = recordCount });
请问如何用最方便的修改cCLD集合中的一个值,比如我的集合里面有一个DateTime的值,我想在里面去.ToString("yyyy-MM-dd HH:mm:ss")一哈,这样我的前台js就可以直接使用了,也有其他需求,有没有linq的语法一句遍历集合,修改值。
顺便请教:这种asp.net 返回到页面的时间类型:
直接截取出来1436338459317 然后new Date(1436338459317) 就OK了
用 Select 函数 IEnumerable<Credit.Models.c_creditLevelDetail> cCLD = acld.Gets(pageIndex, Credit.ActionData.PagingInfo.PageSize, out recordCount).Select(new { dt = dt.ToString("yy-MM-DD")});
就这样就OK了,不过Select里面需要把ID也取到
2楼这种我感觉又多循环计算了一次,最好在里面就把这个格式修改了
这种应该直接拿到前端做一下处理,其实前端应该必备这种时间转换的函数的,这里提供一份,注意这里面有一些依赖函数,完整的代码请参阅这里:
https://github.com/linkFly6/Said/blob/master/Said/Content/Back/JavaScript/so/so.js
在页面中搜索"dateformat:"即可找到实现:
1 var date={ 2 //转换时间 3 parseDate: function (jsonDate) { 4 try { 5 var type = jQuery.type(jsonDate); 6 if (type === 'date') return jsonDate; 7 if (!jsonDate) return null; 8 return new Date(type === 'number' ? jsonDate : parseInt(String(jsonDate).replace("/Date(", "").replace(")/", ""), 10)); 9 } catch (e) { 10 return null; 11 } 12 }, 13 //json时间格式化为正常时间 14 dateFormat: function (jsonDate, format) { 15 /// <summary> 16 /// 1: dataFormat(jsonDate,format) - 将json日期格式转换为正常格式,例:/Date(1420638776887)/ 17 /// 1.1 - dateFormat(String) - 将指定json格式的字符串转换为时间,并按照默认格式返回 18 /// 1.2 - dateFormat(Date) - 将指定的时间转换为默认字符串格式返回 19 /// 1.3 - dateFormat(String, String) - 转换json时间,并指定格式化字符串 20 /// 1.4 - dateFormat(Date, String) - 参考如上 21 /// </summary> 22 /// <param name="jsonDate" type="String"> 23 /// json日期格式的字符串,或Date时间对象 24 /// </param> 25 /// <param name="format" type="String"> 26 /// 格式化字符串,自定义格式化时间字符串请参考MSDN - C# DateTime.ToString(String):http://msdn.microsoft.com/zh-cn/library/8kb3ddd4.aspx 27 /// 支持的字符串自定义格式如下: 28 /// yyyy - 4位数年份,例如:2015 29 /// MM - 2位数月份,自动补零,例:02 30 /// M - 1位数月份,例:2 31 /// dd - 2位数日期,例:08 32 /// d - 1位数日期,例:8 33 /// HH - 2位数24小时,例:3 34 /// H - 1位数24小时,例:03 35 /// hh - 2位数12小时,例:PM 08/AM 03 36 /// h - 1位数12小时,例:AM 8/PM 3 37 /// mm - 2位数分钟数,例:09 38 /// m - 1位数分钟数,例:9 39 /// ss - 2位数秒数,例:01 40 /// s - 1位数秒数,例:1 41 /// fff - 3位数毫秒,例:009 42 /// f - 1位数毫秒,例:9 43 /// </param> 44 /// <returns type="String" /> 45 if (!format || so.type(format) !== 'string') 46 format = 'yyyy-MM-dd HH:mm:ss'; 47 var date = so.parseDate(jsonDate); 48 if (!date) return ''; 49 var month = date.getMonth() + 1, 50 day = date.getDate(), 51 hours = date.getHours(), 52 hours12 = hours > 11 ? 'PM' + (hours - 12) : 'AM' + hours,//12小时制1位数 53 hours12double = hours > 11 ? 'PM ' + padNumber(hours - 12, 2) : 'AM ' + padNumber(hours, 2),//12小时制2位数 54 minutes = date.getMinutes(), 55 seconds = date.getSeconds(), 56 milliseconds = date.getMilliseconds(); 57 return format 58 .replace('yyyy', date.getFullYear())//4位数年份 59 .replace('MM', padNumber(month, 2))//2位数月份 60 .replace('M', padNumber(month, 2))//1位数月份 61 .replace('dd', padNumber(day, 2))//2位数日期 62 .replace('d', day)//1位数日期 63 .replace('HH', padNumber(hours, 2))//24小时制2位数 64 .replace('H', hours)//24小时制1位数 65 .replace('hh', hours12double)//12小时制2位数 66 .replace('h', hours12)//12小时制1位数 67 .replace('mm', padNumber(minutes, 2))//2位分钟 68 .replace('m', minutes)//1位分钟 69 .replace('ss', padNumber(seconds, 2))//2位秒数 70 .replace('s', seconds)//1位秒数 71 .replace('fff', padNumber(milliseconds, 3))//3位数毫秒 72 .replace('f', milliseconds)//1位数毫秒 73 //未来是否支持星期(dddd作为星期)?加入第三个参数扩展格式化?可以自定义解析格式? 74 }