您的位置:首页 > 其它

新工作 Day16 周五

2016-01-22 20:26 155 查看
这个星期过的特别快,因为有些具体的事情做。我看两个实习生既没安排任务,也没人管着,整天无所事事,学些零零碎碎的。公司招实习生虽然工资少,但没法为公司做出什么产值啊。就算为了长远,又没签什么协议,毕业后也很难留住。

JsonResult返回的数据中,时间格式是: "\/Date(1369419656217)\/"。。。返回int就算了,还有杂七杂八的字符。。。

js忘了参考哪一篇了,倒是也不难,就是把数字取出来解析一下,转成相应时间:

function FormatDate (cellval) {
var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10));
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
var second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
return date.getFullYear() + "-" + month + "-" + currentDate + " " + hour + ":" + minute + ":" + second;
}


C#有好几篇提供了一些解决方案,但不想改动太多,最终参考的是 http://www.cnblogs.com/linfei721/archive/2013/05/25/3098614.html 这篇,在此谢过。

刚好项目里的控制器有继承一个BaseController,在里面添加一个方法就行。

protected ContentResult JsonDate(object data)
{
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return Content(JsonConvert.SerializeObject(data, Formatting.Indented, timeConverter));
}


原先是使用JsonResult,用默认的Json方法(就是上面说的时间格式不方便)

public JsonResult GetCaseDetailJsonByApi(string action, string model)
{
return errors.ReturnData == null ? Json(new { Error = “XXX” }) : Json(new { "XXX" });
}


现在直接使用ActionResult即可,转换Json的时候,使用封装的JsonDate即可。这种改动最小,不用改默认的一些格式或方法,不会影响别人使用。

public ActionResult GetCaseDetailJsonByApi(string action, string model)
{
return errors.ReturnData == null ? JsonDate(new { Error = “XXX” }) : JsonDate(new { “XXX” });
}


有兴趣的朋友还可以再改造一下,可以传入格式之类,现在是默认yyyy-MM-dd HH:mm:ss

另外,同事碰到一个IE不兼容的,IE8(及以下)不认forEach。。。虽然同事是IE11,但按F12出来,仿真的默认是8,所以还需要手动改成8以上才行。考虑到客户不会修改,且版本可能比8更低,他还是改成for,其实forEach也没少几个字,不如for直接。或用Jquery的$.each之类也可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: