Как отформатировать дату в Discord. js v12 как ДД / МММ / ГГГГ - PullRequest
0 голосов
/ 05 августа 2020

Я хочу отформатировать дату в информационной команде как ДД / МММ / ГГГГ, но получаю сообщение об ошибке

Вот код:

switch(args[1]) {
    case 'info':

        let user = msg.mentions.users.first() || msg.author;
        let member = msg.mentions.members.first() || msg.member;
        const created = (user.createdAt).format("DD, MMM Do YYYY");
        const join = (member.joinedAt).format("DD, MMM Do YYYY");
        const infoEmbed = new Discord.MessageEmbed()
        .setColor(colour)
        .setTitle('__Info __')
        .setDescription('')
        .addFields(
            { name: 'Joined discord:', value: created, inline: true},
            { name: 'Joined server:', value: join, inline: true},
        )
msg.channel.send(infoEmbed)
}

И вот ошибка в консоли :

const created = (user.createdAt).format("DD, MMM Do YYYY");
                                         ^

TypeError: user.createdAt.format is not a function

Вот изображение вставки без .format("DD, MMM Do YYYY"), чего я пытаюсь избежать

Что я делаю не так? Может кто-нибудь объяснить мне это. (Я использую Visual Studio Code, если это важно)

1 Ответ

0 голосов
/ 05 августа 2020

Вы можете использовать пакет NPM с именем moment , чтобы легко форматировать даты, которые, похоже, вам не хватает. Вы предположительно установили discord. js с помощью следующей команды: $ npm install discord.js

Чтобы установить момент, просто выполните ту же самую команду, но заменив discord.js на moment. Это установит нужный вам пакет.

В верхней части кода в том же файле напишите следующую строку:

const moment = require('moment');

Для этого 'требуется' модуль moment, что дает вы получаете доступ к его экспорту (функциям, классам и т. д. c), чтобы вы могли использовать его в своем коде.

Использование момента для форматирования дат легко и просто. В этом сценарии мы форматируем свойство createdAt пользователя Discord, которое является объектом даты:

const created = moment(user.createdAt).format('DD/MM/YY');

Это должно привести к тому, что вы ищете.

...