早上好,我几次尝试在Google上执行此操作,检查了文档等内容,但到目前为止还没有运气。 基本上我想做的是:我有三个日期,一个代表今天的日期,两个代表某个电视节目播出的日期,如下面的代码所示:
function handleAccordionExpanded(title: string, startTime: string, endTime: string) {
const today = moment();
let startTimeFormatted = moment(today.toISOString().slice(0,10) + ' ' + startTime).tz('America/Sao_Paulo');
let endTimeFormatted = moment(today.toISOString().slice(0,10) + ' ' + endTime).tz('America/Sao_Paulo');
if (startTimeFormatted.unix() >= today.unix() && endTimeFormatted.unix() <= today.unix()) {
console.log(startTimeFormatted);
return true;
}
return false;
}
startTime和endTime都不在我当前的时区中,因此我需要将其转换为-03:00
这段代码对于创建startTimeFormatted非常重要:
moment(today.toISOString().slice(0,10) + ' ' + startTime).tz('America/Sao_Paulo');
因为我需要知道当前的年,月和日才能创建今天的日期,所以startTime总是以hh:mm(09:15、12:15、15:55、22:15等)。
我实际上想做的是比较小时和分钟,而不是整个日期,但是也没有运气。
在尝试通过MomentJS运气之前,我尝试使用JS中的Date对象。
任何提示都会受到欢迎。
答案 0 :(得分:0)
通过以下比较解决了该问题:
if ( today.isBetween(startTimeFormatted, endTimeFormatted) ) {
return true;
}