Я схожу с ума - решение, вероятно, прямо передо мной - но ...
const moment = require('moment')
moment.locale('nb')
let dato = moment(Data.datoen)
let rettDatoStart = moment.utc(dato).startOf('day').toDate()
let rettDatoSlutt = moment.utc(dato).endOf('day').toDate()
... выходит как:
2020-08-05
2020-08-06T00:00:00.000Z
2020-08-06T23:59:59.999Z
Для запись, это написано 2020-08-06T22: 57: 00: 000Z
Что не так? Кто-нибудь?
EDIT: Я понимаю, что нет ничего плохого ни в этом коде, ни в первом предложении. Я подозреваю, что проблема в том, что этот фрагмент является частью операции asyn c внутри сервера express. js. Не понимаю, почему это проблема, но некоторые из вас могут?
Сервис. js:
const General = require('../../database/models/hotels/generalModel')
const Data = require('../../controller/hotels/generalController')
const moment = require('moment')
moment.locale('nb')
module.exports.getAllGeneral = async (serviceData) => {
try {
let dato = moment(Data.datoen)
let rettDatoStart = moment.utc(dato).startOf('day').toString()
let rettDatoSlutt = moment.utc(dato).endOf('day').toString()
let generalen = await General.find({
skaptdato: {
$gte: rettDatoStart,
$lte: rettDatoSlutt
}
});
return generalen;
} catch (error) {
console.log('Noe gikk galt: Service: getAllGeneral', error);
throw new Error(error);
}
}
Контроллер. js:
const generalService = require('../../service/hotels/generalService');
module.exports.getAllGeneral= async (req, res) => {
// Hent datoen fra urlen og exporter den.
const datoen = req.query.dato;
exports.datoen = datoen;
let response = {};
try {
const responseFraService = await generalService.getAllGeneral(req.body);
response.datoen = datoen;
response.status = 200;
response.message = 'General Hotell er hentet! [controller]';
response.body = responseFraService;
} catch (error) {
console.log('Noe gikk galt: Controller: getAllGeneral', error);
response.status = 400;
response.message = error.message;
response.body = {};
}
return res.status(response.status).send(response);
}
РЕДАКТИРОВАТЬ # 2: Как ни странно,
let dato = moment(Data.datoen).add(1, 'day')
... обеспечивает ожидаемый результат, но для меня это не имеет смысла.