2012-01-20 7 views
1

日付文字列をまっすぐに変換したいので、期待通りの結果が得られません。以下のコードでは、元の文字列の日付部分と同じ日付を生成することが期待されますが、インスタンスの作成中に時間がかかるようです。タイムゾーンを適用せずにJavaScript Dateオブジェクトから日付文字列を抽出する

var usageTime = new Date('2012-01-19T22:59:50-0800'); 
console.log(usageTime); // Fri, 20 Jan 2012 06:59:50 GMT 

dayOfUsage = usageTime.getFullYear()+'-'+(usageTime.getMonth()+1)+'-'+usageTime.getDate(); 
console.log(dayOfUsage); // 2012-1-20 

2012-1-19の日付が必要です。これを解決する正しい方法は何ですか?

答えて

0

タイムゾーンオフセットがない時間を得るには、getUTC*()関数(getUTCDate()getUTCHours()など)を使用する必要があります。

+0

同じ結果が得られます。 dayOfUTCUsage = usageTime.getUTCFullYear()+ ' - ' +(usageTime.getUTCMonth()+ 1)+ ' - ' + usageTime.getUTCDate(); dayOfUsage = usageTime.getFullYear()+ ' - ' +(usageTime.getMonth()+ 1)+ ' - ' + usageTime.getDate(); console.log(dayOfUTCUsage); // 2012-1-20 console.log(dayOfUsage); // 2012-1-20 – Greg

+0

あなたは-8時間のオフセットで時間を定義しました。そのため、実際には時刻はUTCの20日です。 –

+0

私はあなたのポイントを見逃しています。結果は、UTCバージョンの関数が使用されているかどうかにかかわらず同じです。 – Greg

関連する問題