2015-02-24 13 views
0

谷歌應用腳​​本我有兩條線路是這樣的:爲什麼Google應用程序腳本中的Utilities.formatDate不適用於從公式派生的日期?

var date = sheet.getRange('F5').getValue(); 
var formateddate = Utilities.formatDate(date,'GMT+0200','MM/dd/yyyy'); 

現在,當在單元格F5的日期是「2015年2月24日」是沒有問題的。但是,如果F5中的日期是由電子表格中的公式派生的,例如使用「= CONCATENATE」,它不喜歡它,並且給我這個錯誤消息「無法找到方法formatDate(字符串,字符串,字符串)」。我該如何做這項工作?

+0

它可能有助於知道,如果它是派生這樣,那我就不需要格式化實用程序的日期,所以如果有一種方法來檢查,看看是否值是一個日期或不,那也可以。如IF(日期是日期){var formateddate = Utilities.formatDate(date,'GMT + 0200','MM/dd/yyyy');} – user3456352 2015-02-24 20:43:43

回答

0

我想通了!

if (date.getDataValidations() === SpreadsheetApp.DataValidationCriteria.DATE_IS_VALID_DATE) 
{var formateddate = Utilities.formatDate(date,'GMT+0200','MM/dd/yyyy');} 
if (date.getDataValidations() != SpreadsheetApp.DataValidationCriteria.DATE_IS_VALID_DATE) {var formatedate= date}; 
相關問題