Я новичок в мире программирования: D и у меня есть сомнения по поводу сравнения часов.
У меня есть лист со следующей информацией
Name | Time out | Time in |
nam_1 10:00:00
nam_2 09:00:00
Время ожидания часовбыли введены с использованием этого кода:
var start = Utilities.formatDate (new Date (), "Europe / Berlin", "HH: mm: ss");
sheet.appendRow([name, start]);
Я хотел бы попробовать:
var time_in = "13:00:00";
if time out> 13:00:00:
sheet.getRange(j+1, 2).setValue(time_in);
Проблема в том, что я не знаю точно, как это сделать.Сейчас я попробовал:
function getTimeFromDateStartUserInput(date) {
return Utilities.formatDate(date, "Europe/Berlin", "HH:mm:ss");
}
function insertTimeIn(){
var file = DriveApp.getFilesByName("MySheet");
var doc = SpreadsheetApp.open(file.next());
var sheet = doc.getSheetByName("Sheet1");
if(sheet!=null){
var dataRange = sheet.getDataRange();
var values = dataRange.getValues();
var time_in = new Date ('30/12/1899 17:00:00');
time_in.setHours(13,0,0,0);
var inFormated = getTimeFromDate(time_in);
for(var i = 0; i<values.length; i++){
if(values[i][1]>=inFormated && values[i][2]=""){
sheet.getRange(j+1, 2).setValue(time_in);
}else{
sheet.getRange(j+1, 2).setValue("Nop");
}
}
}
Однако с этим кодом я ничего не добился.
Я думаю, что проблема может заключаться в том, что любая запись в столбце «Тайм-аут»имеет такой дизайн: суббота 30 декабря 14:51:22 GMT + 01: 00 1899.
Поэтому я думаю, что это не работает, так как я сравниваю час с полным объектом Date.
Логичной вещью, я думаю, было бы вызвать функцию getTimeFromDateStartUserInput для всего ввода значений [i] [1], но я не знаю, как это сделать.
Может кто-нибудь помочьмне с этой проблемой?