我想比较当前时间和用户使用JavaScript输入的给定时间。
答案 0 :(得分:2)
在JavaScript中,当前日期(包括时间,毫秒)可以这样访问:
var current = new Date();
这会给你一个Date object,你可以使用许多不同的方法和属性。除此之外,如果您的用户拥有的是时间,您会对getHours
和getMinutes
感兴趣。
答案 1 :(得分:0)
Javascript内置了强大的Date解析器。请尝试以下内容:
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"));