2016-05-30 101 views
2

我正在使用角度材料日期选择器。我的问题是,当我向Web Api控制器发送日期时,我得到的日期少于我在表单中选择的日期。我认为这是由于日期值未被本地化的事实。我想知道的是,如何本地化日期角JS在角度材料日期选择器中定位日期值

HTML:

​​

控制器:

angular.module('datepickerBasicUsage', 
    ['ngMaterial', 'ngMessages']).controller('AppCtrl', function($scope) { 
    $scope.myDate = new Date(); 
    $scope.minDate = new Date(
     $scope.myDate.getFullYear(), 
     $scope.myDate.getMonth() - 2, 
     $scope.myDate.getDate()); 
    $scope.maxDate = new Date(
     $scope.myDate.getFullYear(), 
     $scope.myDate.getMonth() + 2, 
     $scope.myDate.getDate()); 
    $scope.onlyWeekendsPredicate = function(date) { 
    var day = date.getDay(); 
    return day === 0 || day === 6; 
    } 
}); 

回答

2

要获得一致导致跨浏览器,最好使用moment.js

否则,您也可以使用toLocaleString()

最后,您还可以编写自己的服务来获取UTC时间并根据用户语言环境应用必要的偏移量。

+0

如果您可以使用上述代码给出演示或示例,那将是非常好的 –

+0

对于moment.js,您可以通过主站点的文档。 对于toLocaleString检查此链接:[链接](http://michelebusta.com/angular-tip-date-and-time-locale-formatting/) – Rambler

+0

toLocalString()方法是否与$ scope对象一起使用? –