2017-01-31 1 views
0

У меня есть эта модельКак изменить формат даты в продолжении запроса ORM?

var Loans = sequelize.define('Loans', { 
    book_id: DataTypes.INTEGER, 
    patron_id: DataTypes.INTEGER, 
    loaned_on: DataTypes.DATE 
} 

Запросы делается, как это ниже.

Loans.findAll().then(function(loans) { 
    res.render('book_detail', {loans: loans}); 
}); 

Мой вопрос, как я могу изменить loaned_on поле только YYYY-MM-DD формате в результате запроса, и не хотите, штамп времени.

В настоящее время loaned_on значение поля отображения, как Sun Jan 29 2017 00:00:00 GMT+0000 (GMT) в области HTML-форм и в значении db хранится в виде 2017-01-29 00:00:00.000 +00:00.

Btw, db является sqlite3

ответ

1

Использование https://momentjs.com/docs/#/parsing/string-format/ или

Loans.findAll().then(function(loans) { 
    loans = loans.map(function (loan) { 
     loan.loaned_on = loan.loaned_on.getFullYear() + '-' + 
      (loan.loaned_on.getMonth() < 9 ? '0' : '') + 
      (loan.loaned_on.getMonth() + 1) + '-' + loan.loaned_on.getDate(); 
     return loan; 
    }); 
    res.render('book_detail', {loans: loans}); 
}); 
+0

Да эта работа тоже хорошо. Также я создал метод экземпляра, как показано ниже в модели '' 'Loans'' instanceMethods: { loanedOn: function() { return dateFormat (this.loaned_on," yyyy-mm-dd "); }, –

Смежные вопросы