Javascript 获取Discord.JS bot的正常运行时间

Javascript 获取Discord.JS bot的正常运行时间,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我现在正在为运行时制作一个Discord bot命令,我想知道运行时最紧凑(而且仍然正确)的方式是什么,以捕获bot实际联机的时间并以24小时格式返回它。当bot启动时,您不需要手动保存。您可以使用,您将获得bot启动的毫秒数 从那里,您可以执行以下操作: 让totalSeconds=(client.uptime/1000); 假设天数=数学下限(总秒数/86400); 总秒数%=86400; 让小时数=数学楼层(总秒数/3600); 总秒数%=3600; 分钟=数学地板(总秒数/60); 让秒

我现在正在为运行时制作一个Discord bot命令,我想知道运行时最紧凑(而且仍然正确)的方式是什么,以捕获bot实际联机的时间并以24小时格式返回它。

当bot启动时,您不需要手动保存。您可以使用,您将获得bot启动的毫秒数

从那里,您可以执行以下操作:

让totalSeconds=(client.uptime/1000);
假设天数=数学下限(总秒数/86400);
总秒数%=86400;
让小时数=数学楼层(总秒数/3600);
总秒数%=3600;
分钟=数学地板(总秒数/60);
让秒数=数学地板(总秒数%60);
然后您就可以使用
小时
分钟

let uptime = `${days} days, ${hours} hours, ${minutes} minutes and ${seconds} seconds`;
你可以用

var bruh = Date.now();
在代码开始时,当您想要使用它时,请使用

var bruhAfter = bruh - Date.now();
然后使用接受的代码,但使用bruhAfter而不是client.uptime。 这是针对non discord.js的。

更好的解决方案

const moment = require("moment");
require("moment-duration-format");
const duration = moment.duration(client.uptime).format(" D [days], H [hrs], m [mins], s [secs]");

console.log(duration);

//Output = 1 hr, 16 mins, 8 secs

这里有一个非常简单的解决方案,它返回一个人类可读的字符串。它使用


创建一个全局变量,当bot启动时,将Date.now()存储在其中,并从命令中的Date.now()中减去它,那么就有毫秒了。那么。
const prettyMilliseconds = require("pretty-ms");
message.channel.send(`Uptime: ${prettyMilliseconds(client.uptime)}`)
// 15d 11h 23m 20s