关于javascript:更改Discord bot的时间和日期格式

Changing the time and date format for Discord bot

本问题已经有最佳答案,请猛点这里访问。

所以,标题简要解释了我的问题。 我正在为我的机器人创建一个踢功能,它一直运行良好。 我遇到的唯一问题(不是主要问题)是它向#incidents频道发送带有踢脚信息的嵌入部分,只有Bots和Staff才能访问。 我创建了一个新的Discord用户帐户,我已创建并将其加入服务器。 我测试了我的删除命令,它的工作原理和我的意图。

1
2
3
4
5
6
7
8
var incidentembed = new discord.RichEmbed()
    .setTitle("User removed")
    .setDescription("**" + ruser +"** was successfully removed from the server.") /** ruser declares the user that was removed. **/
    .setColor("#3937a5")
    .addField("Time assigned", message.createdAt, true)
    .addField("Assigned by", `<@${message.author.id}>`, true)
    .addField("Reason", rreason, false); /** rreason declares the reason that the staff member inputted. **/
bot.channels.get("466904829550264322").send(incidentembed); /** The ID points out the #incidents channel. **/

Embed look

(是的,ClassyAss是我的Discord用户名。)

正如您在屏幕截图中所看到的,时间分配字段显然存在错误。 我正在使用message.createdAt生成此日期和时间,但是,它的格式是如何混乱和混乱。

我想根据澳大利亚东部标准时间(AEST)将时间和日期格式设置为DD / MM / YYYY HH:MM AM / PM。 我怎么能做到这一点?


当您使用嵌入时,您可以使用Discord显示时间和日期(它也会转换为用户的时间戳)。
embed.setTimestamp()

1
2
3
4
5
6
7
8
var incidentembed = new discord.RichEmbed()
    .setTitle("User removed")
    .setDescription("**" + ruser +"** was successfully removed from the server.") /** ruser declares the user that was removed. **/
    .setColor("#3937a5")
    .setTimestamp(message.createdAt)
    .addField("Assigned by", `<@${message.author.id}>`, true)
    .addField("Reason", rreason, false); /** rreason declares the reason that the staff member inputted. **/
bot.channels.get("466904829550264322").send(incidentembed); /** The ID points out the #incidents channel. **/

或者,如果您仍想格式化日期,则可以执行此类操作。

1
2
3
4
5
6
7
var d = new Date,
dformat = [d.getMonth()+1,
       d.getDate(),
       d.getFullYear()].join('/')+' '+
      [d.getHours(),
       d.getMinutes(),
       d.getSeconds()].join(':');

归功于KooiInc。