Sails 1.0 (Waterline ORM) - MySQL атрибут Дата - PullRequest
1 голос
/ 08 апреля 2020

Я хочу сохранить 2 данные как Тип даты , но как ответ json Я всегда получаю: "start": "2023-06-11T23: 00: 00.000Z" Почему это происходит? В моей базе данных MySQL сохраняется как "2023-06-11".

Это моя схема

module.exports = {

  attributes: {

    title: {
      type: 'string',
      required: true,
      columnType: 'varchar(50)'
    },
    start: {
      type: 'string',
      columnType: 'date',
      required: true
    },
    end: {
      type: 'string',
      columnType: 'date',
      allowNull: true
    }
  }
};

Thanks!

1 Ответ

0 голосов
/ 09 апреля 2020

JSON не имеет стандарта для дат, поэтому то, что вы получаете в json, является просто выводом некоторого значения по умолчанию toString для вашей даты.

На вашем сервере, ватерлинии будет обрабатывать атрибут как дата. Но как только вы отправите его клиенту через json, это будет строковое представление. К счастью, просто передав эту строку в Date конструктор, вы получите правильный javascript объект даты

var apiData = {
    title: 'hello',
    start: '2023-06-11T23:00:00.000Z'
};

var startDate = new Date(apiData.start); // this is a javascript Date object
...