#javascript #node.js
#javascript #node.js
Вопрос:
Я получаю данные из БД со временем, подобным 2018-08-15T06:08:55.000Z в этом я хочу минуты и добавляю к ним 5 минут. Я попытался использовать метод getMinutes(), но он выдает ошибку getMinutes() не является функцией.
console.log('data as ', obj);
var dt = obj.starttime;
console.log('time from database' , dt);
console.log('getMinutes():' ,dt.setMinutes( dt.getMinutes() 05 ));
data as { id: 4009,
mid: 1,cid: 41,wid: 7138,oid: null,status: null,options: null,
starttime: '2018-08-15T06:08:55.000Z',duration: null,ordertotal: 50,
counter: null,closetime: null }
time from database 2018-08-15T06:08:55.000Z
Uncaught Error
message: 'dt.getMinutes is not a function',
Комментарии:
1. Что это
dt
?2. @hsz извините, dt — это переменная, которую я сейчас отредактировал
Ответ №1:
преобразуйте строку в дату
var dt = new Date('2018-08-15T06:08:55.000Z');
console.log(dt.getMinutes());
Ответ №2:
dt — это просто строка, которая вам нужна, чтобы преобразовать ее в объект date
let dt = '2018-08-15T06:08:55.000Z';
date = new Date(dt);
console.log(date.getMinutes());
Ответ №3:
Преобразуйте вашу строку в a Date
, передав ее конструктору Date.
Затем используйте date.setMinutes(date.getMinutes() 5);
, чтобы добавить 5 минут:
const date = new Date('2018-08-15T06:08:55.000Z');
date.setMinutes(date.getMinutes() 5);
console.log(date);
Ответ №4:
Возможно, вы получаете время «2018-08-15T06:08:55.000Z» из базы данных в виде строки. преобразуйте его в формат даты и получите из него минуты.
let dt = "2018-08-15T06:08:55.000Z"
let myTime = new Date(dt);
console.log(myTime.getMinutes());
Приведенный выше код должен решить вашу проблему.
Ответ №5:
Я полагаю dt.getMinutes()
, может быть, не работает, потому что dt не является Timeobject .
Попробуйте следующее:
dt = '2018-08-15T06:08:55.000Z'
let dt = new Date (dt);
console.log('getMinutes():' ,dt.setMinutes( dt.getMinutes() 05 ));
Ответ №6:
Это зависит от того, как вы инициализировали «dt». Попробуйте это :
let dt_new = new Date(dt);
let min = dt_new.getMinutes();
Вам необходимо инициализировать dt как объект date