Angular Как сериализовать дату в формате гггг-мм-дд в запросе json - PullRequest
0 голосов
/ 19 октября 2018

У меня есть объект, у которого есть свойство birthDate типа Date.На экране я должен отобразить день рождения в формате ДД / ММ / ГГГГ.Теперь я использую начальную загрузку bsDatePicker.Но в базе данных он хранится в формате ГГГГ-ММ-ДД (тип string).Таким образом, чтобы представить модификацию, я должен преобразовать день рождения в этот формат.

Не могли бы вы рассказать, как сериализовать дату (ДД / ММ / ГГГГ) в формате ГГГГ-ММ-ДД в запросе JSON?

Есть ли у вас хорошая идея оптимизироватьконвертация без каких-либо изменений в базе данных?

Спасибо

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Сначала вы создадите функцию, которая принимает строку, содержащую дату.Тогда конвертируй это.В конце функции у меня есть некоторый троичный код , потому что, если вы не добавите эту часть, дата может быть 2018-4-2 , и вы хотите ее 2018-04-02

dateFormater(date:string):string{    
   const today = new Date(date);        
   const day = today.getDate()+1; 
   const month = today.getMonth()+1;
   const year = today.getFullYear();

   return year + "-" + (month<10 ? ("0" + month) : month)+ "-" + (day<10 ? ("0" + day) : day);    
 }
0 голосов
/ 22 октября 2018

Спасибо за ваш ответ, вот что я сделал:

Я сопоставляю исходный объект с типом запроса с помощью reflxion, для даты:

if(item[key] instanceof Date) {
  value = this.dataPipe.transform(item[key], 'yyyy-MM-dd').toString();
}else {
  value = item[key].toString();
}
0 голосов
/ 19 октября 2018

Если это строка, вы можете просто извлечь соответствующие данные и вернуть правильный формат, который необходимо отправить в ваш json.Возможная вспомогательная функция:

    formatDate():string{    
        const today = new Date();        

        const day = today.getDate(); 
        const month = today.getMonth()+1; // this will return 0-11 so you will need to add 1 to make it, 1-12
        const year = today.getFullYear();

        return year+"-"+month+"-"+day;    
    }

, это вернет "2018-10-19".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...