2011-04-18 79 views

回答

0

的Javascript一款内置了一个功能强大的日期解析器尝试类似如下:

function compareDates(dateString) 
{ 
    // Convert the user's text to a Date object 
    var userDate = new Date(dateString); 

    // Get the current time 
    var currentDate = new Date(); 

    if(isNaN(userDate.valueOf())) 
    { 
    // User entered invalid date 
    alert("Invalid date"); 
    return; 
    } 

    var difference = currentDate - userDate; 
    alert("The date entered differs from today's date by " + difference + " milliseconds"); 
} 

编辑:如果您想分析的时间,而不是日期,你必须使用正则表达式。如果用户输入的格式类似于10:50pm,则可以使用类似以下代码的内容:

var dateRegex = /(\d\d?):(\d\d)(am|pm)?/; 
function parseTime(timeString) 
{ 
    var match = dateRegex.exec(timeString); 
    if(!match) return null; 
    return { 
    hours: match[1]-0, // Subtracting zero converts to a number 
    minutes: match[2]-0, 
    isPM: match[3].toLowerCase === "pm" 
    }; 
} 
console.log(parseTime("10:50pm")); 
+0

亲爱的好。但我想比较一下时间。我的意思是用户输入将是一个时间,而不是日期。请编辑这个。 – Aamir 2011-04-18 19:24:19

+0

您将不得不求助于编写自己的时间解析函数,因为JavaScript只是将其解析为日期的一部分。尝试查找正则表达式。 – Na7coldwater 2011-04-20 17:29:27

2

在JavaScript中,当前的日期(包括时间,到毫秒)是这样的访问:

var current = new Date(); 

,让你一Date object,有许多不同的方法,你可以使用属性。其中,如果您的用户有一段时间,您会对getHoursgetMinutes感兴趣。

相关问题