在Angular Material datepicker中本地化日期值

时间:2016-05-30 02:21:40

标签: javascript angularjs datepicker angular-material

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

中的日期

HTML:

<div ng-controller="AppCtrl" style='padding: 40px;' ng-cloak>
  <md-content>
    <h4>Standard date-picker</h4>
    <md-datepicker ng-model="myDate" md-placeholder="Enter date"></md-datepicker>
</md-content>
</div>

控制器:

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;
  }
});

1 个答案:

答案 0 :(得分:2)

要在浏览器中获得一致的结果,最好使用moment.js

否则您也可以使用toLocaleString()

最后,您还可以编写自己的服务,这将获得UTC时间并根据用户区域设置应用必要的偏移量。