Я создал коллекцию mongodb, используя nodejs, как показано ниже:
var mongoose = require('mongoose');
var TTTUsersSchema = new mongoose.Schema({
username: String,
password:String,
active: Boolean,
created_at: { type: Date, default: Date.now },
updated_at: { type: Date, default: Date.now },
});
module.exports = mongoose.model('Users', TTTUsersSchema);
С момента создания записи дата по умолчанию сохраняется как вторник, 13 ноября 2018 г. 20:53:47 GMT+0000 (стандартное время по Гринвичу), поэтому, когда я получаю это поле, оно отображается в HTML, как указано выше. Я хочу отображать его в формате ДД/ММ/ГГ ЧЧ:ММ формат.
Где мне нужно изменить? На уровне пользовательского интерфейса HTML? или на уровне коллекции Mondgodb.
Пожалуйста помоги.
F.ex. из консоли Firefox JS: new Date().toString() -> "Thu Jan 31 2019 23:10:09 GMT+0200 (EET)"






Вам нужно отформатировать дату и время на уровне просмотра.
Временные метки всегда должны храниться согласованным образом, например. как ISODate() в MongoDB, и всегда обрабатываться в коде согласованным образом, например. как объект Date в Javascript.
Только когда ты
затем вы делаете преобразования.
К сожалению, объект JavaScript Date сильно ограничен, поэтому я бы предложил использовать такой пакет, как Момент.js, который предлагает множество возможностей форматирования:
const moment = require('moment');
// date is a Date object you got, e.g. from MongoDB
const time = moment(date);
console.info(time.format("DD/MM/YY HH:mm"));
Спасибо, Стефан. Мой вопрос теперь, где написать этот код? При отправке результата запроса на html-страницу? или в файле Schema.js мой код выглядит следующим образом: var emp = require('../model/Employee'); emp.findone({_id: req.params.id}).exec(функция (ошибка, сотрудник) { res.render('../views/emp/show', {emp: сотрудник}); };
Да, этот код должен быть включен в код, отображающий вашу HTML-страницу.
Предположим, что текущий день вторник, 13 ноября 2018 г., 20:53:47 GMT+0000
.
Используйте .toDateString()
var date = new Date();
console.info(date.toDateString());
Он будет отображать:
Tue Nov 13 2018
Пожалуйста, используйте форматирование кода.
MongoDB не хранит даты в виде строк (проверьте свою коллекцию с помощью клиента просмотра mongodb). Как вы получаете доступ к полю даты, чтобы получить данную строку? Вы уверены, что видите не просто строковый объект
Date?