• 新工作 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之类也可以。

  • 相关阅读:
    配置多个Git账号(windows 10)
    Windows下的WSL和Docker导入导出迁移
    MySQL数据统计
    angular动画(一)
    ngzorro UI源码技巧(二)
    ngzorro UI源码技巧(一)
    angular技巧
    让angular表单更简单
    angular 粘合性指令
    姿态解析
  • 原文地址:https://www.cnblogs.com/liuyouying/p/5152264.html
Copyright © 2020-2023  润新知