我想比较两个日期,如果它们相等就做一些事情。
第一个日期来自谷歌表格。单元格格式为日期,本地化为法国 (GMT+1)。 第二个日期来自用户填写的 HTML 表单日期字段。
我想比较yyyy--MM--dd格式的字符串,所以我使用了Utilities.format()函数。 当我显示字符串值时,似乎一切正常。
但是当字符串比较不起作用时。应该是转换问题。我做了一些测试,没有任何效果。
这是我的代码的一部分
//...
} else {
Spreadsheetapp.getUi().alert(formObject.licenseExpiration); // Works. Displays yyyy-MM--dd
Spreadsheetapp.getUi().alert(Utilities.formatDate(sheetDataRangeValues[0][7],"GMT+1","yyyy-MM-dd")); // Works. Displays yyyy-MM--dd
if (Utilities.formatDate(formObject.licenseExpiration,"yyyy-MM-dd") == Utilities.formatDate(sheetDataRangeValues[0][7],"yyyy-MM-dd") || formObject.licenseExpiration == "") {
Spreadsheetapp.getUi().alert("It works !");
}
//...
感谢您的帮助。
编辑:
HTML
<form id="filterForm" onSubmit="handleFormSubmitFilter(this)">
<label for="licenseExpiration">License Expiration</label><br/>
<input type="date" id="licenseExpiration" name="licenseExpiration"><br/><br/>
</form>
<script>
function preventFormSubmitFilter() {
var formsFilter = document.querySelectorAll('FormFilter');
for (var i; i < formsFilter.length; i++) {
formsFilter[i].addEventListener('submit',function(event) {
event.preventDefault();
});
}
}
window.addEventListener('load',preventFormSubmitFilter);
function handleFormSubmitFilter(formObject) {
google.script.run.processFormFilter(formObject);
document.getElementById("filterForm").reset();
}
</script>