2016-03-21 11 views
0

ich einen Tag zu Tag hinzufügen will ich von textbox.I bekommen Sie den Code unten versucht, aber es hat nicht funktionierthinzufügen Tag zu Tag Javascript

function get_renew_date() 
    { 
     var chkautorenew=document.getElementById("MainContent_chk_Isauto_Renew"); 
     if (chkautorenew.checked) { 
      end_date = document.getElementById("MainContent_txtContract_End_date").value; 
      renew_date = document.getElementById("MainContent_txtContract_Renew").value; 
      dat = new Date(end_date.toDateString()); 
      //renew_date=dat.addDays(1); 
      alert(end_date.toDateString()); 
     } 
    } 

Ich bin auch besorgt über das Client-Datumsformat und die letzten Tag des Monats, wie kann ich sicher sein, dass einen Tag nach dem Hinzufügen nicht wie dieser 32/03/2016

sein wird es Ihnen danken

+0

Haben Sie versucht, 'renew_date.setDate (end_date.getDate() + 1);'? –

+0

@Roland, dass erfordert jquery, verwenden Sie vanille js und aufhören zu sein so abhängig von jquery –

+0

Wenn Sie nicht im Gegensatz zu Bibliotheken und nicht gerne das Rad neu erfinden, dann ist moment.js eine fantastische Date Manipulation Bibliothek: http: // momentjs.com/. Wie es scheint, Sie bauen eine Art von Vertragsmanagement-Anwendung, ich stelle mir vor, dass Sie viel mehr Datumsmanipulation Operationen als nur diese benötigen. – erictgrubaugh

Antwort

1

Versuchen Sie, diese

var date1 = new Date("03/31/2016"); 
 
var next_date = new Date(date1.getTime() + 86400000); 
 
alert(next_date.toLocaleDateString());

+0

Es funktioniert gut danke, aber was 86400000 bedeutet? –

+0

Es ist Millisekunden für einen Tag, verstehen Sie mehr hier http://www.w3schools.com/jsref/jsref_gettime.asp – C2486

0

Das Verhalten ein Datum der Einstellung ist intern so, wenn Sie ein set Datum bis "Datum" + 1, wird es automatisch Monate oder sogar Jahre, wenn nötig.

Auch das Date-Objekt ist wandelbar, was bedeutet, das ist genug zu tun:

dat = new Date(end_date.toDateString()); 
dat.setDate(dat.getDate() + 1); 
0

Sie durch Hinzufügen 86,400,000ms einen Tag hinzufügen können (1 Tag) bis zum aktuellen Datum.

function addDays(date, numOfDays) { 
    date.setTime(date.getTime() + (86400000 * numOfDays)); 
} 

können Sie andere Datumsintervalle unterstützen etwa so:

function dateAdd(date, interval, units) { 
 
    var d = new Date(date); 
 
    switch (interval.toUpperCase()) { 
 
    case 'YEAR' : d.setFullYear (d.getFullYear() + units   ); break; 
 
    case 'QUARTER': d.setMonth (d.getMonth() + units * 3  ); break; 
 
    case 'MONTH' : d.setMonth (d.getMonth() + units   ); break; 
 
    case 'WEEK' : d.setDate  (d.getDate()  + units * 7  ); break; 
 
    case 'DAY' : d.setDate  (d.getDate()  + units   ); break; 
 
    case 'HOUR' : d.setTime  (d.getTime()  + units * 3600000); break; 
 
    case 'MINUTE' : d.setTime  (d.getTime()  + units * 60000 ); break; 
 
    case 'SECOND' : d.setTime  (d.getTime()  + units * 1000 ); break; 
 
    default  : d    = undefined       ; break; 
 
    } 
 
    return d; 
 
} 
 

 
function parseDate(dateString, delimiter) { 
 
    var parts = dateString.split(delimiter).map(function(v) { 
 
    return parseInt(v, 10); 
 
    }); 
 
    return new Date(parts[2], parts[1], parts[0]); 
 
} 
 

 
function formatDate(date, delimiter) { 
 
    return [ date.getDate(), date.getMonth(), date.getFullYear() ].map(function(v) { 
 
    return v < 10 ? ('0' + v) : v; 
 
    }).join(delimiter); 
 
} 
 

 
function get_renew_date() { 
 
    var chkautorenew = document.getElementById("MainContent_chk_Isauto_Renew"); 
 
    if (chkautorenew.checked) { 
 
    end_date = document.getElementById("MainContent_txtContract_End_date").value; 
 
    renew_date = formatDate(dateAdd(parseDate(end_date, '/'), 'day', 1), '/'); 
 
    document.getElementById("MainContent_txtContract_Renew").value = renew_date; 
 
    } 
 
} 
 

 
get_renew_date();
<input type="checkbox" id="MainContent_chk_Isauto_Renew" checked /> 
 

 
<input type="text" id="MainContent_txtContract_End_date" value="31/03/2016" /> 
 
<input type="text" id="MainContent_txtContract_Renew" value="" />