からのgetDate()間違った値が、私は日付のインスタンスのISO 8614
フォーマットを解析することは簡単なはず、フォーマットISO 8601
であるAJAX日付、を介してクライアントに提供するデータベースを持っていますが、何らかの理由でdate.getDate()
提供日の1日早く返し、私は今私はちょうど1日:ISO 8601の日付インスタンス
コードによって価値を高めるために、日付メソッドを呼び出す関数を作るためにそうなぜ起こるか分からないことは簡単です:
function getFullDate(ISO){
// ISO =
var date = new Date(ISO);
return [
date.getFullYear(),
date.getMonth() < 10 ? "0" + date.getMonth() : date.getMonth(),
date.getDate() < 10 ? "0" + (date.getDate() + 1) : (date.getDate() + 1) //Get date returns 1 day early so raise by 1
].join("-");
}
console.log(getFullDate("2016-07-19T00:00:00.000Z")); // 2016-07-19
コードに何も問題はありません。なぜこれが起こるのか知りたいだけですISO 8601
の形式
getUTCFullYear()ようで始まるメソッドを使用しますが、日のヶ月などを取得するために、現地時間のAPIを使用していますUTC時刻はその日の深夜です。ヨーロッパの西側にいる場合は、そのコードを実行すると前日が表示されます。 – Pointy