使用 AngularJS 和 ASP.NET 将日期转换为 dd-mm-yyyy

Converting date to dd-mm-yyyy with AngularJS and ASP.NET

我从控制器中的 angular 代码 1/1/0001 返回时得到以下日期。日期以正确的格式显示,如下所示

我的过滤器,在angularjs

  myApp.filter("DateOfBirth", function () {
    var re = /\/Date\(([0-9]*)\)\//;
    return function (x) {
        var m = x.match(re);
        if (m)
            return new Date(m);
        else
            return null;

    };
});

我的控制器

public string Update_Data(Employee employee)
        {
            if(employee != null)
            {
                var employee_ = projectContext.Entry(employee);
                Employee employeeObject = projectContext.Employees.Where(x => x.Employee_ID == employee.Employee_ID).FirstOrDefault();
                employeeObject.First_Name = employee.First_Name;
                employeeObject.Last_Name = employee.Last_Name;
                employeeObject.Country_ID = employee.Country_ID;
                employeeObject.State_ID = employee.State_ID;
                employeeObject.City_ID = employee.City_ID;
                employeeObject.Email = employee.Email;
                employeeObject.Password = employee.Password;
                employeeObject.Mobile = employee.Mobile;
                employeeObject.DateOfBirth =Convert.ToDateTime( employee.DateOfBirth);
                employeeObject.Age = employee.Age;
                projectContext.SaveChanges();
                return "Data Updated";
            }
            else
            {
                return "Please Check!!";
            }
        }

angularjs脚本

$scope.UpdateEmployee = function (Employee) {
        document.getElementById("EmployeeID_").value = Employee.Employee_ID;
        $scope.FirstName = Employee.First_Name;
        $scope.LastName = Employee.Last_Name;
        $scope.counter = Employee.Country_ID;
        $scope.Counter = Employee.State_ID;
        $scope.CityID = Employee.City_ID;
        $scope.Email = Employee.Email;
        $scope.Password = Employee.Password;
        $scope.DateOfBirth = Employee.DateOfBirth;
        $scope.Mobile = Employee.Mobile;
        $scope.Age = Employee.Age;
        document.getElementById("btnSave").setAttribute("value", "Update");
        document.getElementById("btnSave").style.backgroundColor = "Yellow";
        document.getElementById("spn").innerHTML = "Update Employee Information";
    };

我在 mvc 的控制器中得到这个值是

你可以简单地在字符串中查找 /Date 并转换它,不需要太复杂。

代码:

app.filter('formatDate', function() {
   return function(item) {
     if (item.indexOf('/Date') != -1) 
     return new Date(parseInt(item.substr(6)));
     return item;
   };
});

工作样本here

我更喜欢将此 new Date(parseInt(item.substr(6))); 逻辑移动到服务中,以便在需要时 injectable/reusable 到 filter/controller。