首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >moment.js -测试日期是今天、昨天,还是一周或两周前

moment.js -测试日期是今天、昨天,还是一周或两周前
EN

Stack Overflow用户
提问于 2015-06-05 21:55:26
回答 5查看 60.5K关注 0票数 51

我正在尝试与moment.js了解日期是今天、昨天、1周前还是更早(2周前或更早)。

对于前两个案例,我已经这样做了:

代码语言:javascript
复制
var today = moment().startOf('day');
var yesterday = moment().subtract(1, 'days').startOf('day');

if (moment(localTime).isSame(today, 'd')) // today
    // do something
if (moment(localTime).isSame(yesterday, 'd')) // yesterday
    // do something

对吗?

但是,我如何检查日期是一周前还是更早(例如,两周前)?

EN

回答 5

Stack Overflow用户

发布于 2015-07-13 20:59:53

更准确的答案如下

代码语言:javascript
复制
var today = moment();
var yesterday = moment().subtract(1, 'day');

var engagementDate = (Date to be compare);

if(moment(engagementDate).isSame(today, 'day'))
  console.log('Today');
else if(moment(engagementDate).isSame(yesterday, 'day'))
  console.log('Yesterday');
票数 27
EN

Stack Overflow用户

发布于 2020-10-17 22:17:06

当今最简单的解决方案:

代码语言:javascript
复制
const result = moment(date).isSame(moment(), "day")

昨天最简单的解决方案:

代码语言:javascript
复制
const result = moment(date).isSame(moment().subtract(1, 'day'), "day")
票数 5
EN

Stack Overflow用户

发布于 2016-03-14 14:05:08

diff函数可能对您的情况很有帮助,并且通常可以检查从某个日期开始的确切日期

代码语言:javascript
复制
var sampleDaysAgo = moment().subtract(28, 'days'); //28 just for test
var today = moment();

console.log(today.diff(sampleDaysAgo, 'days')); // 28 

Demo

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30668373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档