我们在后台对数据进行json序列化时,如果数据中包含有日期,序列化后的结果可能是这样的: /Date(1448864369815)/ 。asp.net mvc 中的 Json() 方法执行后的结果就是如此。可是往往我们要在前台显示正常的日期格式,该如何处理呢? ...
我们在后台对数据进行json序列化时,如果数据中包含有日期,序列化后的结果可能是这样的: /Date(1448864369815)/ 。asp.net mvc 中的 Json() 方法执行后的结果就是如此。可是往往我们要在前台显示正常的日期格式,该如何处理呢?
在angularjs(后面简称 ng)中处理起来还是挺方便的,ng中内置有一个专门做日期格式化的过滤器(filter): date
其使用方法很简单: 有两种使用方法,代码所示如下
<!DOCTYPE html><html ng-app="demo"><head> <meta charset="utf-8"/> <title>Demo</title></head><body ng-controller="demoCtrl"> <!-- 表达式中使用 --> {{dt1 | date:'yyyy-MM-dd HH:mm:ss'}} <br/> {{dt2}} <!-- dt1 和 dt2 的输出结果是一样的 --> <script type="text/javascript" src='/images/loading.gif' data-original="angular.min.js"></script> <script type="text/javascript"> var app = angular.module("demo",[]); //注意必须注入 $filter 模块 app.controller("demoCtrl",["$scope", "$filter", function($scope, $filter) { $scope.dt1 = new Date(); //控制器中使用 $scope.dt2 = $filter("date")($scope.dt1, "yyyy-MM-dd HH:mm:ss"); }]); </script> //dtObj的属性名作为正则进行匹配 if (new RegExp("(" + k + ")").test(format)) { //月,日,时,分,秒 小于10时前面补 0 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? dtObj[k] : ("00" + dtObj[k]).substr(("" + dtObj[k]).length)); } } return format; } //调用 jsonDateFormat("/Date(1448864369815)/","yyyy-MM-dd hh:mm:ss");
原标题:Angularjs中对时间格式:/Date/ 的处理
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。