2017-09-16 96 views
0

我正在与AngularJs合作项目。 这里我有3个html控件。如何在AngularJs中从日期和时间创建日期时间?

  • 日期选择器(HTML5的日期)=>$scope.date
  • timepicker(HTML5的时间)=>$scope.from
  • timepicker(HTML5的时间)=>$scope.to
下面

是html代码。

<form> 
    <div class="form-group row"> 
    <label for="" class="col-sm-2 col-form-label">Set date</label> 
    <div class="col-sm-5"> 
     <!-- <input type="email" class="form-control" id="inputEmail3" placeholder="Email"> --> 
     <datepicker date-format="yyyy-MM-dd" selector="form-control"> 
     <div class="input-group"> 
      <input class="form-control" placeholder="Choose a date" ng-model="date" id="date" /> 
      <spam class="input-group-addon" style="cursor: pointer"> 
      <i class="fa fa-lg fa-calendar"></i> 
      </spam> 
     </div> 
     </datepicker> 
    </div> 
    </div> 
    <div class="form-group row"> 
    <label for="" class="col-sm-2 col-form-label">Set time</label> 
    <div class="col-sm-4"> 
     <input type="time" class="form-control" placeholder="From" ng-model="from" id="from"> 
    </div> 
    <label for="" class="col-sm-1 col-form-label">To</label> 
    <div class="col-sm-4"> 
     <input type="time" class="form-control" placeholder="To" ng-model="to" id="to"> 
    </div> 
    </div> 
</form> 

现在服务呼叫我需要传递的日期时间,但在这里我有日期时间分开。

如何从datetime和datetime构建datetime到可用数据之上?

+0

您需要共享HTML和JS,或与调试问题的问题工作片断! –

+0

@NarenMurali我提供了HTML。好吧,现在没有有用的JS,因此我没有包括它。 **问题是如何从日期和时间构建完整的日期时间?例如。 datetimeFrom和datetimeTo来自用户选择的数据。 – sachin

回答

0

您可以在控制器中组合日期。首先使用Date.prototype.toISOString()方法格式化日期/时间,然后使用String.prototype.substring()方法分别取dateParttimePart,最后将两者结合起来创建一个新的Date实例。

$scope.fromDate = getCombinedDateTime($scope.date, $scope.from); 
$scope.toDate = getCombinedDateTime($scope.date, $scope.to); 

function getCombinedDateTime(date, time){ 
    var datePart = date.toISOString().substring(0, 10); 
    var timePart = time.toISOString().substring(10, 24); 
    return new Date(datePart + timePart); 
}