我的form有兩個時間,分別為A,B
我要驗證B不可以小於A
花個幾分鐘打一下,剛剛在留言區的構想,你在自己參考一下
function timeCompare (){
try{
const ssID = ""; //請輸入https://docs.google.com/spreadsheets/d/[請把這裡的數值複製進來]/edit#gid=0
const sheetName = ""; //工作表名稱
const col_Smaller = ""; //請輸入送入後的欄位英文,ea:A
const col_Larger = ""; //請輸入送入後的欄位英文,ea:B
const col_result = ""; //要輸出結果的欄位
const timeRegex = "^\d{4}\/\d{1,2}\/\d{1,2} [上|下]午 \d{1,2}:\d{1,2}:\d{1,2}$"; //確認格子內容是不是為日期時間 ea:2024/12/11 上午 12:12:00
//如果這時B欄大於A欄時不會將將con_result 為 true , 只會保持false
const ss = SpreadsheetApp.openById(ssID).getSheetByName(sheetName);
const lastRow = ss.getLastRow().toString(); //取得最後一筆進來的資料
const cell_Smaller= ss.getRange(col_Smaller+lastRow).getValue();
const cell_Larger= ss.getRange(col_Larger+lastRow).getValue();
const regex = new RegExp(timeRegex);
//有其中一個格子不是日期時間格式,不執行程式
if (!((regex.test(cell_Smaller)==false || regex.test(cell_Larger)==false))){
if (new Date(cell_Smaller).getTime()>new Date(cell_Larger).getTime()){
//如果目標小的欄位大於目標大的欄位時為true
ss.getRange(col_result+lastRow).setValue(true);
}else{
//否則為false
ss.getRange(col_result+lastRow).setValue(false);
}
}
}catch(ex){
//發生錯誤的訊息
console.log(ex);
}
}