如何检查日期实际上是今天(同一天),而不是一天中的小时数之间的差异?
我有三个时间戳作为示例,一个是今天(2014年7月22日),另外两个是昨天(2014年7月21日)
1406019110000 // today
1405951867000 // yesterday
1405951851000 // yesterday
我试过这个,但都返回false:
timestamp = moment.tz(timestamp, tz.name());
var today = moment('DD/MM/YYYY').isAfter(timestamp, 'DD/MM/YYYY');
console.log(today);
答案 0 :(得分:94)
您可以使用isSame()
,将粒度限制为一天:
var today = moment(1406019110000);
var yesterday = moment(1405951867000);
if (today.isSame(yesterday, 'd')) {
// They are on the same day
} else {
// They are not on the same day
}
答案 1 :(得分:16)
您可以同时使用startOf
和isSame
方法来实现目标。
在片刻对象上运行startOf('day')
会将那一刻设置为 - 你猜对了 - 它发生的那一天的开始。如果您使用此方法转换每个时间戳,则可以使用isSame()
轻松地将它们相互比较。
例如:
var today = moment(1406019110000);
var yesterday = moment(1405951867000);
if (today.startOf('day').isSame(yesterday.startOf('day'))) {
// They are on the same day
} else {
// They are not on the same day
}
答案 2 :(得分:9)
你可以试试这个
moment().isSame(moment(timestamp), 'day')
答案 3 :(得分:1)
你可以试试这个,
var today = 1406019110000; // today
var yesterday = 1405951867000; // yesterday
checkToday(today);
checkToday(yesterday);
function checkToday(timestamp)
{
if (moment(timestamp).format('DD/MM/YYYY') == moment(new Date()).format('DD/MM/YYYY'))
alert('true');
else
alert("false");
}
以下是 demo
答案 4 :(得分:0)
检查日期的时刻是今天:
let dateStr = '2019-12-03 11:23';
/**
* to check above date string is today use **isSame()**
*/
const status = moment(dateStr).isSame(moment(), 'day'); // O/P : **true**