如何仅比较时刻的日期。

发布于 2025-01-21 20:01:24 字数 519 浏览 0 评论 0原文

我是新手。我有一个日期对象,它有一段时间与之相关。我只想检查该日期是否大于或等于今天的日期, 不包括比较的时间。

 var dateToCompare = 2015-04-06T18:30:00.000Z

我只想检查dateToCompare是等于还是大于今天的 时间日期。 我已经检查了Moment.js的Issame,但似乎需要字符串,仅需日期部分。但是我不想将日期转换为字符串或进一步操纵。因为我担心在将日期转换为字符串(例如添加偏移或dst等)时,JavaScript可能会做一些意外的事情,或者我错了。

sample insame()来自文档

moment('2010-10-20').isSame('2010-10-20');

也是我正在寻找Issame()和iSafter()之类的东西,合并为一个语句。

我需要比较使用Moment.js。请不要建议简单的JavaScript日期比较。

I am new to moment.js. I have a date object and it has some time associated with it. I just want to check if that date is greater than or equal to today's date, excluding the time when comparing.

 var dateToCompare = 2015-04-06T18:30:00.000Z

I just want to check if dateToCompare is equal or greater than today's date.
I have checked isSame of moment.js, but it seems to take string and only the date part. But I do not want to convert my date to string or manipulate it further. Because I am worried that javascript may do something unexpected when converting that date to string(like adding the offset or dst,etc), or may be I am wrong.

Sample isSame() from docs

moment('2010-10-20').isSame('2010-10-20');

Also I am looking for something like isSame() and isAfter() combined as one statement.

I need to compare using moment.js only.Please do not suggest plain javascript date comparison.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

痕至 2025-01-28 20:01:24

文档很清楚您通过第二个参数来指定粒度。

如果要将粒度限制在毫秒以外的单位上,请以第二个参数将单元传递。

  moment('2010-10-20')。iSAFTER('2010-01-01','Year'); // 错误的
力矩('2010-10-20')。iSAFTER('2009-12-31','Year'); // 真的
 

第二个参数确定了精度,而不仅仅是要检查的单个值,使用一天会检查一年,月和一天。

对于您的情况,您将通过'Day'作为第二个参数。

The docs are pretty clear that you pass in a second parameter to specify granularity.

If you want to limit the granularity to a unit other than milliseconds, pass the units as the second parameter.

moment('2010-10-20').isAfter('2010-01-01', 'year'); // false
moment('2010-10-20').isAfter('2009-12-31', 'year'); // true

As the second parameter determines the precision, and not just a single value to check, using day will check for year, month and day.

For your case you would pass 'day' as the second parameter.

沉睡月亮 2025-01-28 20:01:24

同时,您可以使用issameOrafter方法:

moment('2010-10-20').isSameOrAfter('2010-10-20', 'day');

docs: https://momentjs.com/docs/#/query/is-same-same-or-after/

Meanwhile you can use the isSameOrAfter method:

moment('2010-10-20').isSameOrAfter('2010-10-20', 'day');

Docs: https://momentjs.com/docs/#/query/is-same-or-after/

小傻瓜 2025-01-28 20:01:24

在我的情况下,我确实按照代码进行比较2日期可能会帮助您...

var date1 = "2010-10-20";
var date2 = "2010-10-20";
var time1 = moment(date1).format('YYYY-MM-DD');
var time2 = moment(date2).format('YYYY-MM-DD');
if(time2 > time1){
    console.log('date2 is Greater than date1');
} else if(time2 < time1) {
    console.log('date2 is Less than date1');
} else {
    console.log('Both date are same');
}
<script src="https://momentjs.com/downloads/moment.js"></script>

In my case i did following code for compare 2 dates may it will help you ...

var date1 = "2010-10-20";
var date2 = "2010-10-20";
var time1 = moment(date1).format('YYYY-MM-DD');
var time2 = moment(date2).format('YYYY-MM-DD');
if(time2 > time1){
    console.log('date2 is Greater than date1');
} else if(time2 < time1) {
    console.log('date2 is Less than date1');
} else {
    console.log('Both date are same');
}
<script src="https://momentjs.com/downloads/moment.js"></script>

层林尽染 2025-01-28 20:01:24

continue

You could use startOf('day') method to compare just the date

Example :

var dateToCompare = moment("06/04/2015 18:30:00");
var today = moment(new Date());

dateToCompare.startOf('day').isSame(today.startOf('day'));
乜一 2025-01-28 20:01:24
moment('2022-01-07').isAfter(moment().format('YYYY-MM-DD'), 'day');

检查
2022-01-07与当前日期有关,

如果当前日期已超过2022年1月6日,则返回false!

moment('2022-01-07').isAfter(moment().format('YYYY-MM-DD'), 'day');

checking
2022-01-07 this with current date

if current date is beyond 6th Jan 2022, it returns false!

独守阴晴ぅ圆缺 2025-01-28 20:01:24

检查一个日期是通过使用iSafter()方法来的。

moment('2020-01-20').isAfter('2020-01-21'); // false
moment('2020-01-20').isAfter('2020-01-19'); // true

通过使用iSbefore()方法,检查一个日期是另一个日期。

moment('2020-01-20').isBefore('2020-01-21'); // true
moment('2020-01-20').isBefore('2020-01-19'); // false

通过使用issame()方法,检查一个日期与另一个日期相同。

moment('2020-01-20').isSame('2020-01-21'); // false
moment('2020-01-20').isSame('2020-01-20'); // true

For checking one date is after another by using isAfter() method.

moment('2020-01-20').isAfter('2020-01-21'); // false
moment('2020-01-20').isAfter('2020-01-19'); // true

For checking one date is before another by using isBefore() method.

moment('2020-01-20').isBefore('2020-01-21'); // true
moment('2020-01-20').isBefore('2020-01-19'); // false

For checking one date is same as another by using isSame() method.

moment('2020-01-20').isSame('2020-01-21'); // false
moment('2020-01-20').isSame('2020-01-20'); // true
情定在深秋 2025-01-28 20:01:24

力矩('date')。todate()。getTime()&gt;片刻()

moment('date').toDate().getTime() > moment()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文