スプレッドシートに見やすいように日付をフォーマットする方法は以下の2つがあります。
/*formatDateを使用*/ var showDate = Utilities.formatDate(date, timeZone, format); // 使用例 var showDate = Utilities.formatDate(new Date(), "JST","YYYY':'MM':'dd") 2017:02:27 /*setNumberFormatを使用*/ var range = SpreadsheetApp.getActiveRange(); //適当に範囲を取得 range.setNumberFormat(format); range.setValue(date); //使用例 var range = SpreadsheetApp.getActiveRange(); range.setNumberFormat("yyyy年mm月dd日 dddd"); range.setValue(new Date()); 2017年2月27日 月曜日
ただスプレッドシートは賢いみたいで 、以下のようにセルに値をセットすると自動的にフォーマットを適応し、値を取得する際もDateオブジェクトを返すみたいです。
var range = SpreadsheetApp.getActiveRange(); range.setValue('2-27'); //表示は2017/2/27 var value = range.getValue(); // Date Object Mon Feb 27 00:00:00 GMT+09:00 2017
ということで、自動フォーマットをキャンセルしセルに「2-27」と表示したいときは以下のようにフォーマットを指定してあげると良いです。
range.setNumberFormat('@'); // 文字列をそのまま表示するフォーマット