typescript - Överskrid Date.prototype.toJSON för att lösa tidszonsproblem i angular 7
Jag har en Angular 7-app. Och jag skickar datum till min server. Men min tid som skickas till servern är 3 timmar bakåt på grund av tidszon. Och jag lärde mig att det enda sättet att lösa detta problem är att skriva Date.prototype.toJSON. Men, jag vet inte i Angular, var jag ska skriva nedanstående kod och hur? (Till exempel index.html, app.module.ts, ...) Jag skrev mitt stackblitz-exempel nedan.
Date.prototype.toJSON = function(key){
//This code return me as string like "25.02.0219 19:48:52"
return this.toLocaleDateString() + ' ' + this.toLocaleTimeString();
}
STACKBLITZ
Svar #1
Du kan åsidosätta Date-prototypen i huvudstartpunkten för din applikation, i ditt fall är det AppModule.ts, så att den kommer att vara tillgänglig för hela applikationen.
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();
}
}
Nu kan du i din komponent, det kommer att vara tillgängligt.
save() {
console.log(this.myForm.value);
this.http.post("localhost:5000",this.myForm.value).subscribe(result => {});
}
Här är forkad stackblitz-länk
Hoppas detta hjälper!
