2017-09-16 1 views
0

Ich arbeite an einem Projekt mit AngularJs. Hier habe ich 3 HTML-Steuerelemente.Wie erstelle ich Datetime von Datum und Uhrzeit in AngularJs?

  • picker (html5 des Datum) =>$scope.date
  • Timepicker (html5 der Zeit) =>$scope.from
  • Timepicker (html5 der Zeit) =>$scope.to

unten HTML Quelltext.

<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> 

jetzt Service-Aufruf muss ich Datetime passieren, aber hier Datum und Zeit getrennt Ich habe.

Wie kann ich datetime von und datetime von oben verfügbaren Daten konstruieren?

+0

Sie müssen die HTML und JS, oder ein Arbeits-Snippet mit dem Problem für das Debuggen des Problems teilen! –

+0

@NarenMurali Ich habe HTML zur Verfügung gestellt. Nun, im Moment gibt es kein nützliches JS, daher habe ich es nicht aufgenommen. ** Problem ist, wie man vollständige Datumzeit von von Datum und von Zeit konstruiert? beispielsweise. datetimeFrom und datetimeTo aus Daten, die von einem Benutzer ausgewählt wurden. – sachin

Antwort

0

Sie können die Daten in einer Funktion in Ihrem Controller kombinieren. Formatieren Sie zunächst die Daten mit der Methode Date.prototype.toISOString(), und verwenden Sie dann die Methode String.prototype.substring(), um die Werte datePart und timePart getrennt voneinander zu übernehmen. Kombinieren Sie die beiden anschließend, um eine neue Date Instanz zu erstellen.

$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); 
} 
Verwandte Themen