javascript — даты в листах Google, которые хранятся в виде строк с помощью toString (), не распознаются как даты при обратной записи в ячейку?

Даты в листах Google, сохраняемые как строки в функции toString (), не распознаются как даты при обратной записи в ячейку?

Вы извлекаете значения даты из строки и задаетесь вопросом, почему Google Sheets не распознает стандартные строки даты как даты.

Причина в том, что дата, которую вы видите на экране, на самом деле является числом, миллисекундами с эпохи Unix . Он просто отформатирован для отображения так, что он «выглядит как» дата, состоящая из текста.

Чтобы преобразовать строку даты в значение, которое Google Sheets распознает как дату, вам необходимо преобразовать ее. Следующий код предоставляет простой пример:

На скриншоте ниже значение в ячейке B1 является строкой; значение ячейка C1 является значением даты. Обратите внимание на фактическое значение данных (число), отображаемое в ячейке C5 (эта ячейка отформатирована как «Число»);


 function so5842277201() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = "Sheet1"; var sheet = ss.getSheetByName(sheetname); var datestring = sheet.getRange("A1").getValue(); Logger.log(datestring); var date01 = new Date(datestring); Logger.log(date01); var date02 = Utilities.formatDate(date01,"GMT-7", "EEE MMM d yyyy HH:mm:ss"); var newdaterange = sheet.getRange("C1"); newdaterange.setValue(date02); } 

Скриншот

введите описание изображения здесь

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector