@sato12 先月動いてた理由はよく分からんけど、日付だから失敗してるのは多分合ってると思う。
Date型のオブジェクト同士は、==では比較できない。例えて言うなら、「10と10は同じですか?」だと同じだけど、日付はオブジェクトなので「私の持ってる10円玉とあなたの持ってる10円玉は同じですか?」みたいな感じになる(10円という価値は同じだが、物体としては違う)。
ので、Dateのオブジェクトに対して、getTime()メソッドを呼んで、UNIX時間というミリ秒単位の整数値にしてやると比較できる。
const unixTimes = datesArray.map(date => date.getTime());
const needle = targetDate.getTime();
const hasDate = unixTimes.includes(needle);
みたいにするといいと思う。
GASに限らずいろんな言語の
@kussy_tessy スプレッドシートから取得する値の時刻は0:00:00、new Date()のほうは実行した日時になっちゃって不一致になるかもと思ってgetTimeは一旦使わないで、
GASでformatDateしたnew Date()はちゃんとyyyy/mm/dd形式の文字列になってたので、文字列同士の比較にするためスプレッドシートのセル内にTEXT関数を入れて配列の中身全部文字列にした、
つもりなんですがこれでもだめだったので
配列を取得するgetValuesの末尾に.joinをつけて配列ではなくひと続きの文字列にしたらTRUE判定出せました😂
結局使いはしませんでしたがgetTimeは大きな知見でした😌
@kussy_tessy そうそう、そうです!
@sato12 手荒すぎるww
@kussy_tessy 🤣🤣🤣
@sato12 '2023/11/172023/11/202023/12/04'みたいな文字列を作ったってこと?