我有一个日期/时间在输入(#myinput)使用以下格式:
yyyy/mm/dd hh: mm: ss
我需要将这个与今天的日期进行比较,所以像这样…
var currentdate = new Date();
if(currentdate < $("#myinput").val()) {
alert("HELLO WORLD");
return false;
}
任何想法?
我使用moment.js (http://momentjs.com/)进行这种工作。
看起来像这样:
var input = moment($("#myinput").val(), "YYYY/MM/DD HH:mm:ss");
if(input.diff(moment())>0){
...
如果我只能使用javascript,我会使用正则表达式来解析日期:
var dateString = "2012/12/05 12:00:01";
var regexp = /([0-9]{4})/([0-9]{2})/([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/;
var result = regexp.exec(dateString);
var date = new Date();
date.setYear(result[1]);
date.setMonth(result[2]-1);
date.setDate(result[3]);
date.setHours(result[4]);
date.setMinutes(result[5]);
date.setSeconds(result[6]);
if(new Date()<date){
...
您可以使用Date。解析方法(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse)将输入中的日期与当前日期或任何类型的正确日期格式的其他日期进行比较。
,
var testDate = $('#myinput').val();
var d = new Date;
if (Date.parse(d)<Date.parse(testDate)) {
}
else{
}
这里有一个小提琴:http://jsfiddle.net/uLybp/3/
使用此函数
//get full data now
function dateNow(){
var now = new Date(Date.now());
var dd=now.getDay() + "-" + (now.getMonth()+1) + "-" + now.getFullYear()+" ";
dd += now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
return dd;
}
例子var d=dateNow();
console.log(d); // 5-2-2021 1:35:24