在javascript中将字符串与datetime进行比较的问题

时间:2012-06-06 09:38:50

标签: javascript asp.net

脚本是---

 function TimeSpentForFutureDate() {
      var toDate = new Date();
      toDate.setMinutes(0);
      toDate.setSeconds(0);
      toDate.setHours(0);
      toDate.setMilliseconds(0);
  //Here after selecting future date also, this condition is failing.The textbox
      // containing a future date

      if (document.getElementById('<%= txtDate.ClientID%>').value > toDate) {
          var timespent = jPrompt('Enter Time Spent:', '', 'Enter Time Spent', 
          function (r) {
              if (r) {
                 document.getElementById('<%= 
                    hiddenFieldFutureDateSelectTimeSpent.ClientID%>').value = r;
                 jAlert('You entered ' + r);
              }
              else {
                 var todaysDate = new Date();
                 jAlert('You had not entered the Time Spent', 'Message');
              }
              });
            }
            else {
                document.getElementById('<%=
                    hiddenFieldFutureDateSelectTimeSpent.ClientID%>').value = 
                    timespent;
                document.getElementById('<%= txtDate.ClientID%>').value = toDate;
            }
        }

在上面的代码中,我正在检查文本框'txtDate'是否包含将来的日期。

[但是比今天的日期更大,它将提示输入花费的时间,然后将花费的时间存入隐藏的领域。]

我无法将字符串转换为日期时间对象进行比较。请帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:2)

Date.parse会做到这一点

var dateToCovert=document.getElementById('<%= txtDate.ClientID%>').value;
var sDate = new Date(Date.parse(dateToCovert,"MM/dd/yyyy"));

格式(“MM / dd / yyyy”)当然可以根据您的需要进行更改

注意:

确保dateToCovert不为空且格式为有效

Date.parse在IE7 / 8中不起作用。