Existe-t-il un moyen simple de faire en sorte que Sequelize renvoie ses champs de date / heure dans un format particulier?

Nous avons besoin de séquencer les dates de retour dans un format particulier, pas celui par défaut. Autant que je sache, il n’y a aucun moyen de définir cela dans les options ou de toute autre manière. À moins de mettre à jour manuellement les dates chaque fois qu’elles sont récupérées, a-t-on pu résoudre ce problème facilement? Ou est-ce que je manque quelque chose?

vous pouvez définir des méthodes d’instance personnalisées getDate / setDate qui traduiraient la date entre la représentation interne séquentielle et le format souhaité, de la manière suivante : section des modèles)

Vous pouvez utiliser la méthode Sequelize fn . A partir de la référence API , la fonction fn aidera à créer un object représentant une fonction SQL dans votre requête.

Par exemple:

 model.findAll({ atsortingbutes: [ 'id', [sequelize.fn('date_format', sequelize.col('date_col'), '%Y-%m-%d'), 'date_col_formed'] ]}) .then(function(result) { console.log(result); }); 

Renverra les valeurs de données:

 [ {"id": 1, "date_col_formed": "2014-01-01"}, {"id": 2, "date_col_formed": "2014-01-02"} // and so on... ] 

Dans le cas du modèle que nous créons avec Sequelize CLI, essayez quelque chose comme ceci.

  var sequelize= require('../models'); model.findAll({ atsortingbutes: [ 'id', 'title' [sequelize.Sequelize.fn('date_format', sequelize.Sequelize.col('col_name'), '%d %b %y'), 'col_name'] ]}.then(function(result)) { // dateformate=04 Nov 2017 console.log(result) } 

visitez ce lien pour formate