我正在尝试获取有条件的明天日期示例,让我知道如果明天是明天,并且超过明天下午1点,那么做些什么。
我与MomentJs合作,因此,如果您有一个可以帮助我的解决方案,
答案 0 :(得分:1)
在momentJS中,明天你可以得到
const tomorrow = moment().add(1, 'days');
如果您想明天下午1:00出发
var tomorrow = moment('01:00 pm', "HH:mm a").add(1, 'days');
如果您想比较,那么
var tomorrow = moment('01:00 pm', "HH:mm a").add(1, 'days');
var current = moment();
if(current < tomorrow)
console.log('true');
else
console.log('false');
答案 1 :(得分:1)
要获取明天13:00的日期,您可以为今天创建一个日期,添加一天,然后将时间设置为13:00。
然后,您可以使用比较运算符<
和>
直接将其与其他日期进行比较(但是您需要将两个日期都转换为数字,才能比较为==
或===
)。
例如
// return true if d0 is before d1, otherwise false
function isBefore(d0, d1) {
return d0 < d1;
}
// Generate some sample dates
let now = new Date();
let d0 = new Date(now.setDate(now.getDate() + 1));
let d1 = new Date(now.setHours(10));
let d2 = new Date(now.setHours(15));
// Format output
function formatDate(d) {
let options = {day:'2-digit', month:'short', year:'numeric', 'hour-12':false, hour:'2-digit',minute:'2-digit'};
return d.toLocaleString('en-gb',options);
}
// Create a test date for 13:00 tomorrow
var testDate = new Date();
testDate.setDate(testDate.getDate() + 1);
testDate.setHours(13,0,0,0);
// Test it against sample dates
[d0,d1,d2].forEach(function(d) {
console.log(formatDate(d) + ' before ' + formatDate(testDate) + '? ' + isBefore(d, testDate));
})