[英]How to format JavaScript timestamp for Google Sheets?
如何使用 JavaScript 将时间戳(自纪元以来的毫秒数)转换为 Google 表格时间线图表可用的日期和时间格式。
我的第一次尝试是 map 使用timestamps.map(timestamp => new Date(timestamp).toLocaleString())
的时间戳,但 Google 表格不接受这是有效的日期和时间格式:
我相信你目前的情况和目标如下。
[{timestamp: 1617413162282, value: 1}, {timestamp: 1617413239904, value: 2}].map(el => `${new Date(el.timestamp).toLocaleString()}\t${el.value}`).join("\n")
。 timestamp
和value
的值分别放在“A”和“B”列。timestamp
值作为日期 object。 在您的情况下, timestamp
的值被放置为字符串。 我认为这可能是您的问题的原因。 在这种情况下,为了将timestamp
的值作为日期 object,我想建议使用 Google Apps 脚本来放置这些值。 使用 Google Apps Script 时, timestamp
的值可以设置为日期 object。 示例脚本如下。
请将以下脚本复制并粘贴到您要使用的 Google 电子表格的脚本编辑器中。 并且,请设置ar
和sheetName
的变量,并使用脚本编辑器运行myFunction
的 function。 这样,这些值就会被放入sheetName
的工作表中。 在这种情况下, timestamp
的值被放置为日期 object。
function myFunction() {
const ar = [{timestamp: 1617413162282, value: 1}, {timestamp: 1617413239904, value: 2}]; // Please set the values you want to put.
const sheetName = "Sheet1"; // Please set the sheet name of the sheet you want to put the values.
const values = ar.map(({timestamp, value}) => [new Date(timestamp), value]);
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.