Переопределить Date.prototype.toJSON для решения проблемы TimeZone в angular 7 - PullRequest
1 голос
/ 08 марта 2019

У меня угловое 7 приложение.И я отправляю дату на мой сервер.Но мое время отправлялось на сервер 3 часа назад из-за часового пояса. И я узнал, что единственным способом решения этой проблемы является запись Date.prototype.toJSON.Но я не знаю в угловых, где я должен написать код ниже и как?(Forexample index.html, app.module.ts, ...) Я написал свой пример со стекабликом ниже.

Date.prototype.toJSON = function(key){
    //This code return me as string like "25.02.0219 19:48:52"
    return this.toLocaleDateString() + ' ' + this.toLocaleTimeString();
}

STACKBLITZ

1 Ответ

1 голос
/ 08 марта 2019

Вы можете переопределить прототип Date в основной точке входа вашего приложения, в вашем случае это AppModule.ts, чтобы он был доступен для всего приложения.

App.module.ts

export class AppModule {


  constructor() {
    this.overrideDate();
  }

  overrideDate() {
    Date.prototype.toJSON = function (key) {
      //This code return me as string like "25.02.0219 19:48:52"
      return this.toLocaleDateString() + ' ' + this.toLocaleTimeString();
    }

  }

Теперь вы можете в своем компоненте это будет доступно.

  save() {

    console.log(this.myForm.value);
    this.http.post("localhost:5000",this.myForm.value).subscribe(result => {});
  }  

Вот ссылка на разветвленную стекаблиц

Надеюсь, это поможет!

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