これは私の最初の投稿ですので、これを間違えた場合はご容赦ください。次のように、1年分の日付をインクリメントしています。
for (i = 0; i <= 360; i++){
bDate.setDate(bDate.getDate() + 1);
bArray.push([Utilities.formatDate(bDate, "GMT", "M/dd/YYYY")]);
}
2021年12月25日までは問題なく動作し、その時点でAppsScriptは新年を数日前に祝うことを決定します!!! 下記参照:
[12/22/2021], [12/23/2021], [12/24/2021], [12/25/2021], [12/26/2022], [12/27/2022], [12/28/2022], [12/29/2022], [12/30/2022], [12/31/2022], [1/01/2022], [1/02/2022]
私は何か間違ったことをしていますか、それともこれはある種のバグですか?
これは、この質問に関連するバグである必要があります。
これが解決策ではないことはわかっていますが、問題を解決するための回避策は、問題のある日付を手動で追加してから、forループを残りの日付で続行することです。
SpreadsheetApp.getActive().getSpreadsheetTimeZone()
、タイムゾーンをハードコーディングしているため、使用することです。これにより、間違った日が発生する可能性があります。function myFunction() {
const bArray =
[[ '12/22/2021' ],
[ '12/23/2021' ],
[ '12/24/2021' ],
[ '12/25/2021' ],
[ '12/26/2021' ],
[ '12/27/2021' ],
[ '12/28/2021' ],
[ '12/29/2021' ],
[ '12/30/2021' ],
[ '12/31/2021' ]];
const bDate = new Date(2022,0,1);
for (i = 0; i <= 360 - bArray.length ; i++){
bArray.push([Utilities.formatDate(bDate, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "M/dd/YYYY")]);
bDate.setDate(bDate.getDate() + 1);
}
console.log(bArray);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加