Leo*_*een 14 javascript date date-comparison
我有一个来自输入字段的字符串,我用这个格式就像这个25-02-2013.现在我想将字符串与今天的日期进行比较.我想知道字符串是否比今天更早或更新.
有什么建议?
pol*_*lin 13
<script type="text/javascript">
var q = new Date();
var m = q.getMonth()+1;
var d = q.getDay();
var y = q.getFullYear();
var date = new Date(y,m,d);
mydate=new Date('2011-04-11');
console.log(date);
console.log(mydate)
if(date>mydate)
{
alert("greater");
}
else
{
alert("smaller")
}
</script>
Run Code Online (Sandbox Code Playgroud)
Are*_*mar 13
准确的日期比较和解决的错误来自已接受的答案
var q = new Date();
var m = q.getMonth();
var d = q.getDay();
var y = q.getFullYear();
var date = new Date(y,m,d);
mydate=new Date('2011-04-11');
console.log(date);
console.log(mydate)
if(date>mydate)
{
alert("greater");
}
else
{
alert("smaller")
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*zzo 10
您可以使用简单的比较运算符来查看日期是否大于另一个:
var today = new Date();
var jun3 = new Date("2016-06-03 0:00:00");
if(today > jun3){
// True if today is on or after June 3rd 2016
}else{
// Today is before June 3rd
}
Run Code Online (Sandbox Code Playgroud)
我添加0:00:00到第二个变量的原因是因为没有它,它将与UTC(格林威治)时间进行比较,这可能会给你带来不希望的结果.如果您将时间设置为0,那么它将与用户的当地午夜进行比较.
使用Javascript Date对象对您来说会更容易。但由于Date对象不支持您的格式,我认为你必须分析你输入的字符串(例如:25-02-2013)以“ - ”来获得date month和year再利用Date的对象进行比较。
var x ='23-5-2010';
var a = x.split('-');
var date = new Date (a[2], a[1] - 1,a[0]);//using a[1]-1 since Date object has month from 0-11
var Today = new Date();
if (date > Today)
alert("great");
else
alert("less");
Run Code Online (Sandbox Code Playgroud)