dc bot检查消息是否早于X天js



所以问题是:如果消息离开当前日期(new date((.getDate(((,我该如何获取日期?就像如果消息是在15天前发送的一样,年龄将是";15〃;。

信息是来自不和的信息。我通过message.createdAt从邮件中获取创建日期。这返回一个时间戳,例如2021-06-18T19:07:50.057Z

所以我的问题是,我如何才能得到日期,消息已经离开日期。现在喜欢";该消息是在"CCD_ 2天前"发送的;

您可以将其转换为日期,并从中减去当前日期,然后计算出天数,如下所示:

const oldDate = new Date('2021-06-18T19:07:50.057Z');
const today = new Date();
const diff = Math.abs(today-oldDate);
const daysBetween = Math.ceil(diff/(1000*3600*24)); //Round up
console.log(daysBetween)

我所有的日期计算都使用Moment.js,它还没有失败。

CDN:https://cdn.jsdelivr.net/npm/moment@2.29.1/分钟.min.js

<script src="https://cdn.jsdelivr.net/npm/moment@2.29.1/moment.min.js"></script>
let messageDate = '2021-06-18T19:07:50.057Z'
console.log(moment(new Date(messageDate)).fromNow('dd'))
// 18 days

如果你只想返回号码,那么:

let messageDateNumber = Number(moment(new Date(messageDate)).fromNow('dd').replace(/[a-z]| /g,''))

console.log('Message was sent ',messageDateNumber,' days ago')
// Message was sent 18 days ago

最新更新