gpt4 book ai didi

datetime - 节点 RRule 检查规则日是否为今天

转载 作者:行者123 更新时间:2023-12-05 07:55:19 25 4
gpt4 key购买 nike

我在节点中使用“rrule.js”库来解析我的 RRule。我想知道当前日期是否与规则日期相同。它适用于大多数情况,但不是全部。我也是用moment.js来比较的。问题出在“rule.after()”中。它应该包括当天,但没有。

function checkIfToday(rruleStr){
var RRule = require('rrule').RRule;
var moment = require('moment');

var rule = RRule.fromString(rruleStr);

// Convert all dates into UTC before comparison
var todayutc = moment().utc(); // today in UTC
var nextOccurrence = rule.after(todayutc,inc=true); // next rule date including today
var nextOccurutc = moment(nextOccurrence).utc(); // convert today into utc
var match = moment(nextOccurutc).isSame(todayutc, 'day'); // check if 'DAY' is same

return match;
}

知道什么是最好的方法。

谢谢。

最佳答案

这对我有用。尝试使用 moment 的 startOf 方法将 todayutc 的时间设置回一天的开始:

function checkIfToday(rruleStr){
var RRule = require('rrule').RRule;
var moment = require('moment');

var rule = RRule.fromString(rruleStr);

// Convert all dates into UTC before comparison
var todayutc = moment().utc().startOf('day'); // today in UTC
var nextOccurrence = rule.after(todayutc, true); // next rule date including today
var nextOccurutc = moment(nextOccurrence).utc(); // convert today into utc
var match = moment(nextOccurutc).isSame(todayutc, 'day'); // check if 'DAY' is same

return match;
}

关于datetime - 节点 RRule 检查规则日是否为今天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com