2015-06-19 4 views
1

Из формы Google, которую я создал, 50% пользователей вводят дату в качестве ответа на вопрос, остальные 50% не будут вводить ничего, поэтому содержимое ячейки в форме ответа пуст. Я написал код, который помещает содержимое ячейки в определенный формат.Как обрабатывать формат даты для возможной пустой ячейки?

Я экспортирую данные в Google Doc, на данный момент, если дата не указана, в качестве вывода отображается «Thu 01 Jan 1970». Я бы хотел, чтобы это было «Н/Д».

Я оставил большую часть кода, не думаю, что это никакой пользы:

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()', потому что, если значение уже интерпретируется как дата по таблицам, оно переходит к вашему скрипту как к объекту 'Date'. – Mogsdad

Смежные вопросы