2013-07-16 57 views
1

我有一個輸入字段ReportTimeFrom,其值爲09.07.2013如何在該日期添加一週?用jquery操縱日期

我用

$("#ReportTimeFrom").val() 

來獲取值

回答

1

下面試試這個例子,並檢查的jsfiddle - >http://jsfiddle.net/ApfJz/13/

function parseDate(input) { 
    var parts = input.split('.'); 
    return new Date(parts[2], parts[1]-1, parts[0]); // months are 0-based 
} 

$('#change').click(function() { 
    var date = parseDate($("#ReportTimeFrom").val()); 

    // add one week to date 
    date.setDate(date.getDate() + 7); 

    $('#ReportTimeFrom').val(("0" + date.getDate()).slice(-2) + '.' + (("0" + (date.getMonth() + 1))).slice(-2) + '.' + date.getFullYear()); 

}); 
+0

工程完美!即使使用夏令時 – rubo77

+0

您是否可以將前導零添加到月份和天數低於10的日子? – rubo77

+0

現在更新爲支持前導零 – gregjer

0

您可以使用此功能

var dmy = $("#ReportTimeFrom").val().split("/"); // "24/06/2011" should be pulled from $("#DatePicker").val() instead 
console.log($("#ReportTimeFrom").val()); 
var joindate = new Date(
    parseInt(dmy[2], 10), 
    parseInt(dmy[1], 10) - 1, 
    parseInt(dmy[0], 10) 
); 
console.log(joindate); // Fri Jun 24 2011 00:00:00 GMT+0500 (West Asia Standard Time) 
joindate.setDate(joindate.getDate() + 7); // substitute 1 with actual number of days to add 
//$("#ReportTimeFrom").val(joindate) 
console.log(joindate); 
console.log(
    ("0" + joindate.getDate()).slice(-2) + "/" + 
    ("0" + (joindate.getMonth() + 1)).slice(-2) + "/" + 
    joindate.getFullYear()); 

工作演示Fiddle