如何组合Datepicker&的值Timepicker在一个变量中

时间:2015-03-06 02:26:20

标签: javascript angularjs datetime datepicker angularjs-ui-utils

我有角度App我有Datepicker&当用户选择日期$Scope.dt并设置时间$Scope.mytime时使用angular-ui的Timepicker我试图在一个$ Scope.SelectedDateTime中组合我得到NaN。我不知道如何解决它

更新 当用户选择日期时,$ scope.dt值将为'确定当用户选择日期时'将于2015年3月5日00:00:00 GMT-0500(东部标准时间)'和$ scope.mytime值'星期四2015年5月25日23 :格林威治标准时间-0500(东部标准时间)30:00'如何将它们组合在一个变量中 HTML

      <h4>Popup</h4>
        <div class="row">
            <div class="col-md-6">
                <p class="input-group">
                  <input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="dt" />
                  <span class="input-group-btn">
                    <button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
                  </span>
                </p>
            </div>
        </div>
    <timepicker ng-model="mytime" ng-change="changed()" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></timepicker>
<button type="button" class="btn btn-sm btn-info" ng-click="SelectedDateTime()">Today</button>

的javascript

    $scope.today = function() {
      $scope.dt = new Date();
    };
    $scope.today();
    $Scope.mytime = new Date();
 $scope.changed = function () {
    $log.log('Time changed to: ' + $scope.mytime);
  };

  $scope.clear = function() {
    $scope.mytime = null;
  };
    $Scope.SelectedDateTime = function()
    {
      var SelectedDateTime = $scope.dt +''+$scope.mytime;
    }

2 个答案:

答案 0 :(得分:6)

我使用与Datepicker和Timepicker相同的ng-model解决了这个问题。

<input type="text" ng-model="myDateModel" datepicker-options="dateOptions" ... />

<uib-timepicker ng-model="myDateModel"...></uib-timepicker>

我希望它对你有所帮助!祝你好运!

答案 1 :(得分:0)

您无法连接或尝试添加日期对象,就好像它们是数字一样。

你基本上要做的是

new Date() +" "+ new Date()

将该行粘贴到浏览器控制台中,您将看到如下内容:

"Thu Mar 05 2015 21:54:37 GMT-0500 (Eastern Standard Time) Thu Mar 05 2015 21:54:37 GMT-0500 (Eastern Standard Time)"

您需要将它们作为Date对象处理,并使用适当的Date原型方法来操作它们

您需要的一些方法是:

Date.prototype.getHours()
Date.prototype.setHours()

上面假设您正在尝试实际创建新的DateTime。如果不是,则不清楚您的预期结果是什么

参考:MDN Date.prototype Docs