2015-06-19 167 views
1

从我创建的Google表单中,有50%的用户输入日期作为问题的答案,另外50%不会输入任何内容,因此响应表单中的单元格内容为空。我写了一些将单元格内容放入特定格式的代码。如何处理可能为空的单元格的日期格式?

我正在将数据导出到Google文档,此时如果未输入日期,“1970年1月1日星期四”显示为输出。我希望这是“不适用”。

var enddate = vS.getRange(vLastRow,12); 
var vEndDateValue = new Date (enddate.getValues()); 
var vEndDateFormat = Utilities.formatDate(vEndDateValue, 'BST', 'EEE dd MMM YYYY'); 

回答

2

你只需要测试从电子表格中第一次读值:

var enddate = vS.getRange(vLastRow,12); 
var cellContent = enddate.getValue(); 
var vEndDateValue = new Date (cellContent); 
var vEndDateFormat = cellContent ? 
        Utilities.formatDate(vEndDateValue, 'BST', 'EEE dd MMM YYYY') : 
        "N/A"; 

为不认为这是什么用途,我省略了大部分的代码

+1

其他问题:您正在使用'getValues()'作为单个单元格,它将返回一个二维数组。在这种情况下,这会被强制为单个值,但如果您修改范围的大小,则会成为潜在的错误。您可能不需要使用'new Date()',因为如果该值已被Sheets解释为日期,它将作为Date对象来到您的脚本。 – Mogsdad

相关问题