Click here to Skip to main content
15,893,487 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
I am trying to compare start date and end date in jquery. Code in aspx page looks like:
<asp:TextBox ID="tbStartDate" runat="server" CssClass="textbox" Width="80px" contentEditable="false" onchange="javascript:compareDates();"></asp:TextBox>

<asp:ImageButton runat="Server" ID="ibStartCalendar" ImageUrl="~/Images/calendar.jpg"
 Height="18px" AlternateText="Click to show calendar" />

<act:CalendarExtender ID="ceStartDate"  runat="server" Format="dd-MMM-yyyy" TargetControlID="tbStartDate" PopupButtonID="ibStartCalendar" CssClass="Calendar">
</act:CalendarExtender>


And javascript function:

function compareDates() {
  var start = $("#<%=tbStartDate.ClientID %>").val();
  var end = $("#<%=tbEndDate.ClientID %>").val();

  if (!compareDate(start, end)) { 
$("#<%=lblMsg.ClientID %>").html("Start Date can not be greater than End Date");
                    }
  }
 function compareDate(start, end) {
    if (start.length > 0 && end.length > 0) {
        var stDate = new Date(start);
        var enDate = new Date(end);
        var compDate = enDate - stDate;

        if (compDate >= 0)
            return true;
        else {
            return false;
        }
    } else { return true; }
}


Requirement is to dispaly date in "dd-MMM-yyyy" format in text boxes to I can not change format in calenderExtender.

When I keep this format star date and end date becomes "NaN". If I change format in calenderExtender i get proper results. However as I said I can not change format there. How can I change format in javascript?
Posted

There are functions for date format change and comparing dates on http://www.mattkruse.com/javascript/date/[^]
 
Share this answer
 
Comments
Prasad_Kulkarni 4-Apr-12 1:29am    
+5 Good link.
 
Share this answer
 
v2
Comments
codeBegin 14-May-12 6:57am    
Good links my 5!
C#
function GetDate(str) {
        debugger;
                var arr = str.split('-');
               var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun','Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
               var i = 1;
               for (i; i <= months.length; i++) {
                      if (months[i] == arr[1])
                       {
                         break;
                       }
                  }
                  var formatddate = i  + '/' + arr[0] + '/' + arr[2];
                  return formatddate;
            }



 function StartDateTimeEndDate() {
                 var startDate = document.getElementById('<%=EFF_START_DATEDVTextBox.ClientID %>').value
                 var endDate = document.getElementById('<%=EFF_END_DATEDVTextBox.ClientID %>').value
                 var startdt = GetDate(startDate)
                 var enddt = GetDate(endDate)

               if ((Date.parse(enddt) <= Date.parse(startdt))) {
                alert("End date should be greater than Start date");
                document.getElementById('<%=EFF_END_DATEDVTextBox.ClientID %>').value = "";
                 }
        }
 
Share this answer
 
Comments
CHill60 8-May-14 4:20am    
2 years late!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900