我在输入(#myinput)中使用以下格式的日期/时间:
yyyy / mm / dd hh:mm:ss
我需要将它与今天的日期进行比较,所以像这样......
var currentdate = new Date();
if(currentdate < $("#myinput").val()) {
alert("HELLO WORLD");
return false;
}
有什么想法吗?
答案 0 :(得分:0)
我正在使用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){
...
答案 1 :(得分:0)
您可以使用Date.Parse方法(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/
答案 2 :(得分:0)
使用这个功能
//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