Вы можете попробовать использовать Utilities.formatDate
.Этот метод форматирует дату в соответствии со спецификацией, описанной в классе Java SE SimpleDateFormat.Вы можете посетить шаблоны даты и времени здесь .Пример использования:
// This formats the date as Greenwich Mean Time in the format
// year-month-dateThour-minute-second.
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
Logger.log(formattedDate);
Обратите внимание, что использование Utilities.formatDate
имеет следующие эффекты, как отмечено в этой публикации :
Utilities.formatDate
не меняет формат ячейки;он преобразует свой контент в текст.Если вы собираетесь использовать значение даты в вычислениях, вы не хотите, чтобы оно преобразовывалось в текст. Utilities.formatDate
требуется один, чтобы указать часовой пояс.Если вы введете что-то вроде «GMT + 1» и ваша страна будет использовать переход на летнее время, вы можете ожидать, что трудно обнаруживаемые ошибки появятся через несколько месяцев.При использовании setNumberFormat значение даты остается согласованным со всеми другими значениями даты в электронной таблице в соответствии с настройкой часового пояса.
Чтобы избежать этого, вы также можете использовать setNumberFormat(numberFormat)
, чтобы установить формат даты или числа.Принятые шаблоны форматов описаны в документации Sheets API .И пример использования:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// Always show 3 decimal points
cell.setNumberFormat("0.000");