2017-09-16 106 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); 
}