首页 > 解决方案 > 我怎样才能正确显示时间

问题描述

我正在使用 discord.js 库在 Visual Studio 代码中构建代码。我希望机器人,当用户发送命令时,回复当前日期和时间。

我正在使用的代码是:

const moment = require('moment');
module.exports = {
    name: 'onduty',
    description: 'This is an ONDUTY command!',
    execute(message, args, Discord){
        var d = moment().format('MMMM Do YYYY, h:mm:ss a');
        const newEmbed = new Discord.MessageEmbed()
        .setColor('#0c0c0c')
        .setDescription(`**Ο ${message.author} μπηκε on duty στις :**\n`
        + `**${d}**`)
        message.delete()
        message.channel.send(newEmbed);
        
    },
};

当我执行它发送的命令时,例如:2021 年 2 月 21 日 13:59,但我的时间是 +2 小时(15:59)

标签: javascriptdiscorddiscord.jsmomentjs

解决方案


您可以在此处声明任何 tz(TimeZone) ,然后您就有了它们的列表

基于moment docs这里是一个例子:

moment.tz("2013-12-01", "America/Los_Angeles").format(); // 2013-12-01T00:00:00-08:00

为了回答你的问题,我问Europe/Bucharest的是格林威治标准时间 +02:00

var d = moment().tz("Europe/Bucharest").format('MMMM Do YYYY, h:mm:ss a');

推荐阅读