Javascript angularjs getdate不工作

Javascript angularjs getdate不工作,javascript,angularjs,date,Javascript,Angularjs,Date,我对javascript和angularjs相当陌生,所以请耐心听我说。我在尝试与日期对象交互时遇到问题。我假设Date是一个javascript对象。但是,当对日期对象运行.getDate()时,我得到的日期是1970年 我的代码如下所示: (function() { var app = angular.module("app", []); var DateController = function($scope) { $scope.today = new Date(

我对javascript和angularjs相当陌生,所以请耐心听我说。我在尝试与日期对象交互时遇到问题。我假设Date是一个javascript对象。但是,当对日期对象运行.getDate()时,我得到的日期是1970年

我的代码如下所示:

(function() {
  var app = angular.module("app", []);

  var DateController = function($scope) {
        $scope.today = new Date();
        $scope.tomorrow = $scope.today.getDay() +1;
  };

  app.controller("DateController", DateController);
}());
这真的很基本,但是我不明白为什么我会得到那个日期。 在使用其他一些默认javascript日期函数时,我也会得到相同的行为。如能作出解释,将不胜感激

为了方便起见,我创建了一个plunk:

请检查此项

您应该使用setDate来更改日期值

您的新控制器应如下所示:

(function() {
  var app = angular.module("app", []);

  var DateController = function($scope) {
        $scope.today = new Date();
        $scope.tomorrow = new Date();
        $scope.tomorrow = $scope.tomorrow.setDate($scope.tomorrow.getDate() +1);
  };

  app.controller("DateController", DateController);
}());

以下是编辑您的plunk的过程。。更多关于


希望这能有所帮助。

您的两个答案向您展示了处理日期的正确方法。您得到的日期是1970年,因为javascript时间是从1970年1月1日午夜开始以毫秒为单位计算的UTC:。因此,该日期是Javascript的零日期。此外,您需要使用
getDate()
而不是
getDay()
,如果您试图获取整个日期是我的错,我会更改它。我最初的意思是getDate(),但结果是一样的。谢谢,这似乎很好,真不敢相信我错过了!将标记为您是第一个和+以引用日期对象。谢谢!你的解决方案也很好,但必须像阿德里安第一次那样给他一些支持。@scripton不太好,如果你看答案时间,你会发现我在12分钟前回答了,他在8分钟前回答了。但是好的。
(function() {
  var app = angular.module("app", []);

  var DateController = function($scope) {
    $scope.today = new Date();

    // elaborated code for illustration
    var nextDay = new Date($scope.today);
    nextDay.setDate($scope.today.getDate()+1);

    $scope.tomorrow = nextDay;
  };

  app.controller("DateController", DateController);
}());