Ajax日历扩展程序的开始日期和结束日期相差60天

时间:2014-05-02 10:10:52

标签: javascript ajax datepicker

我正在使用2 ajax压光机扩展器

1)开始日期 2)结束日期。

我希望结束日期应该比开始日期提前60天。

日历延长器的日期格式为2014年5月8日(dd-MMM-yyyy)

代码:

<div>
    <asp:TextBox ID="EFF_START_DATEDVTextBox" runat="server"      onchange="javascript:EndDateTimeEndDate();" Width="100px" CssClass="txtbox"></asp:TextBox>
    <ajax:CalendarExtender ID="EFF_START_DATEDVCalendarExtender" runat="server" TargetControlID="EFF_START_DATEDVTextBox" Format="dd-MMM-yyyy">

   

<div>
    <asp:TextBox ID="EFF_END_DATEDVTextBox" onchange="javascript:EndDateTimeEndDate();" runat="server" Width="100px" CssClass="txtbox"></asp:TextBox>
    <ajax:CalendarExtender ID="EFF_END_DATEDVCalendarExtender" runat="server" TargetControlID="EFF_END_DATEDVTextBox" Format="dd-MMM-yyyy">                                                           </ajax:CalendarExtender>
</div>
例如,当我选择开始日期时,结束日期应该是从开始日期提前60天反之亦然。

我试图按以下方式进行,但转换日期时间失败。

 function EndDateTimeEndDate() {

            var datestart = new Date(document.getElementById('<%=EFF_START_DATEDVTextBox.ClientID %>').value)
            var dateEnd = new Date(document.getElementById('<%=EFF_END_DATEDVTextBox.ClientID %>').value)
            alert(datestart);
            document.getElementById('<%=EFF_START_DATEDVTextBox.ClientID %>').value = datestart + 60

        }

2 个答案:

答案 0 :(得分:0)

试试这个..

document.getElementById('<%=EFF_START_DATEDVTextBox.ClientID %>').value = datestart.getDate() - 60;

修改

    var startdate = new Date(document.getElementById('<%=EFF_START_DATEDVTextBox.ClientID %>').value);
    var EndDate= new Date();
    EndDate.setDate(startdate .getDate() + 60);
    alert(EndDate);

答案 1 :(得分:0)

这是答案

function StartDateTimeEndDate1() 
                { 
                        var startDate = document.getElementById('<%=EFF_START_DATEDVTextBox.ClientID %>').value
                        var arrstartdate = startDate.split('-');
                        var newdate = arrstartdate[0] + ' ' + arrstartdate[1] + ' ' + arrstartdate[2] 
                        var actualDate = new Date(newdate); // convert to actual date
                        var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate() + 60); // create new increased date 
                        // now extract the bits we want to crete the text version of the new date..
                        var newDateString = ("0" + newDate.getDate()).substr(-2) + '-' + newDate.toDateString().substr(4, 3) + '-' + newDate.getFullYear();
                        var charstr = newDateString.split('-')
                        if (charstr[0].length == 3) 
                        {
                              document.getElementById('<%=EFF_END_DATEDVTextBox.ClientID %>').value = newDateString.substr(1)
                        }
                        else 
                        {
                             document.getElementById('<%=EFF_END_DATEDVTextBox.ClientID %>').value = newDateString 
                        } 
                }