2017-05-17 12 views
0

しかし、この質問は尋ねられましたhere解決方法は私の問題を解決してくれないようです。nodejsアプリケーション内で参照される日付は一日オフです

私は、次のしている:enter image description here

私はこれらのフィールドを参照してください保存し、ここに示すように日付を作成I]をクリックすると:コンソールにログインし

this.profile.date_of_birth = new Date(this.editProfileForm.value['year'], this.editProfileForm.value['month'], this.editProfileForm.value['day']); 

読み取り:

金12月23日00:00:00 GMT + 1100(AEDT)

保存がここに示したように、私はDATE_OF_BIRTHの値を記録起こる前に、私は、その後、データを取り、mongodbに保存しますhttp://localhost:3005上で実行されている私のnodejsアプリケーションの呼び出しを行います。しかし、この

api.put('/update', authenticate, (req, res) => { 

    console.log(req.body.date_of_birth); 

    // Save properties 

}); 

ログ:

1988-12-22T13:00:オフの日である00.000Z

....

ユーザーが保存を押したときに新しい日付を作成する前に書式を設定していないので、フロントエンドアプリケーションを終了してバックエンドアプリケーションに日付が間違って表示される理由が不明です。

nodejsアプリケーションへの実際の呼び出しはここにある:

saveProfile(profileId: string, token: string, profile: Profile): Observable<any> { 

     var body = { 
      "id": profile.id, 
      "date_of_birth": profile.date_of_birth, 
     } 


     return this.http.put(UPDATE_EDIT_PROFILE, body, { 
      headers: this.setHeaders(token) 
     }).map((res: any) => res.json()); 

    } 

誰もが、おそらく間違って行くことができるものをお勧めすることはできますか?

答えて

0

Fri Dec 23 1988 00:00:00 GMT+1100 (AEDT)は、現在のタイムゾーンの日付です。サーバーは1988-12-22T13:00:00.000Zに従ってUTCを使用しているようです。

Date.UTCを使用して、standart timezone of UTCで日付オブジェクトを作成し、サーバーと同じにすることができます。

var year = 1988; 
 
var month = 12; 
 
var day = 23; 
 
console.log(new Date(year, month - 1, day)); 
 
console.log(new Date(Date.UTC(year, month - 1, day)));

関連する問題