2011-04-18 77 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感興趣。

相關問題