我想将日期(mydate)与今天进行比较。我试过了
new Date(mydate) < new Date();
适用于所有情况除了我的日期等于今天的情况。在这种情况下,上面返回true
,因为它比较了包含的时间。但是,我只想比较日期,而不是时间。
我也试过了moment.js:
moment(mydate).format('DD-MM-YYYY')<moment().format('DD-MM-YYYY')
然而,即使这个也没有奏效。我该怎么写?
答案 0 :(得分:2)
您可以使用时刻函数isSame并提供第二个参数作为比较所需的粒度级别。粒度级别可以是“年”,“月”,“日”等字符串
moment('2010-01-01').isSame('2010-02-01', 'day');
您还可以查看其中记录的类似功能,这些功能可以帮助您更好地满足您的要求。
所有这些都支持不同的粒度级别。
作为旁注,要以您提供的格式创建日期,请执行以下操作:
moment("25-12-1995", "DD-MM-YYYY");
答案 1 :(得分:0)
您可以使用时刻js
简单地执行以下操作
$(document).ready(function() {
$('.compare').click(function(e) {
var date = $('#date').val();
var now = moment().format('YYYY-MM-DD');
var then = moment(date).format('YYYY-MM-DD');
if (now > then) {
$('.result').text('Date is past');
} else if(now == then) {
$('.result').text('Date is today');
} else {
$('.result').text('Date is future');
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
<input type="text" name="date" id="date" value="2014-12-18" placeholder="yyyy-mm-dd">
<button class="compare">Compare date to current date</button>
<br>
<div class="result"></div>
&#13;