新工作 Day16 周五

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

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之类也可以。

原文地址:https://www.cnblogs.com/liuyouying/p/5152264.html