2016-06-01 13 views
0

i eine Javascript-Datum wieDatum ist immer eine weniger als erforderlich Datum

bezwecken
Mon Jun 20 2016 00:00:00 GMT+0530 (India Standard Time) 

und ich habe mit dem folgenden Code yy-mm-dd Format

var month = $scope.dt.getUTCMonth() + 1; //months from 1-12 
    var day = $scope.dt.getUTCDate(); 
    var year = $scope.dt.getUTCFullYear(); 
    $scope.date_in_format=year + "-" + month + "-" + day; 

Aber Datumsvariablen Tag immer 1 zu erhalten weniger die tatsächliche date.In diesem Fall Tag = 19.How es zu lösen? Wenn ich als

var day = $scope.dt.getUTCDate()+1; 

ändern Wo es nt Arbeit, wenn aktuelles Datum 1 Tag Variable wird 31 + 1 = 32

+0

Ich glaube, Sie wollen nicht 'UTC' dann verwenden. – Xufox

Antwort

1

Es ist, weil getUTCDate wird subtrahieren 5 Stunden 30 Minuten von Jun 20 2016 00:00:00 und Sie erhalten den vorherigen Tag. Versuchen Sie stattdessen getDate().

Sehen Sie den Unterschied hier:

function myFunction() { 
 
    var d = new Date(2016, 06, 20, 0, 0, 0); 
 
    var n1 = d.getDate(); 
 
    var n2 = d.getUTCDate(); 
 
    document.getElementById("demo1").innerHTML = n1; 
 
    document.getElementById("demo2").innerHTML = n2; 
 

 
}
<p>Click the button to display the day of the month, according to UTC.</p> 
 

 
<button onclick="myFunction()">Try it</button> 
 

 
<p id="demo1"></p> 
 

 
<p id="demo2"></p>

Verwandte Themen