B1 + 2days
の日付がtoday
より大きい場合、他のユーザーから文書を保護したいと考えています。Googleスクリプト - "If"比較が機能しない
私は保護部分に問題はありませんでしたが、理解できないいくつかの奇妙な理由でIF文が動作しません。
これは私が日付を比較するスクリプトです:私は日によって日付の日を比較する必要があるので、私は時間/分/秒などを0に設定し
ss = SpreadsheetApp.getActiveSheet();
send_date = ss.getRange("B1").getValue();
limit = new Date(send_date.setDate(send_date.getDate()-2))
limit.setHours(0,0,0,0)
day0 = new Date();
day0.setHours(0,0,0,0)
ss.getRange("D1").setValue(day0);
ss.getRange("D2").setValue(limit);
ss.getRange("D3").setValue(limit>day0);
ss.getRange("D4").setValue(limit<=day0);
if (day0>limit) { ss.getRange("C1").setValue("can be edited");}
else if (day0<=limit) { ss.getRange("C1").setValue("cannot be edited");}
。
スクリプトを実行した後はどうなりますか?
たとえば、if B1 = '2017-10-24'
の場合、D1は今日( '2017-10-26')に設定され、D2は( '2017-10-22')に設定されます。
D3、limit>day0
比較値がFALSE
、D4 limit<=day0
がTRUE
となる。
これまでのところ、IF文では、これらの比較が逆転しているようです。
この例では、C1は「編集可能」に設定されています。
私にとっては、最初の比較がFALSE
を返し、2番目がTRUE
を返したことを意味します。
今後日付(つまり「2017-10-30」)に日付を設定すると、D1-D4フィールドに正しい値が表示されますが、C1は「編集できません」に設定されます。
私は何か助けに感謝します。
可能な重複)(私は.getTimeでday0と制限を置き換え(https://stackoverflow.com/questions/492994/compare-two-dates-with-javascript) – Tigger