谷歌企业应用套件脚本----> 将数字长到日期格式(例如 2015-12-02T16:51:31+00:00)



我是谷歌应用程序脚本的新手。我正在使用Mongodb/Realm服务。如何将numberLong数字(例如1436815400277(转换为日期格式(例如2015-12-02T16:51:31+00:00(?谢谢如果我先弄清楚的话,还在研究会发布的。

function importMongoDBData() {
const sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const getData = UrlFetchApp.fetch('https://....').getContentText()
const jsonObj = JSON.parse(getData)
for(let i=0;i<5;i++){
sheet1.getRange(i+2, 1).setValue(jsonObj[i].createdAt.$date.$numberLong)
}
}

使用Utilities.formatDate((,您可以将日期调整为所需的日期格式和时区。此外,只需将毫秒数插入Javascript Date((构造函数,它就会自动将其转换为Utilities.formatDate()使用,如链接文档中所述。

JavaScript日期从根本上指定为自1970年1月1日午夜(UTC(以来经过的毫秒数。

function importMongoDBData() {
const sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const getData = UrlFetchApp.fetch('https://....').getContentText()
const jsonObj = JSON.parse(getData)
for(let i=0;i<5;i++){
sheet1.getRange(i+2, 1).setValue(Utilities.formatDate(new Date(jsonObj[i].createdAt.$date.$numberLong), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"))
}
}

根据我的观察,numberLong是自1970年1月1日以来的毫秒数,所以我将以此为基础给出答案。

在javascript中,如果您最终使用了函数new date(input_number);,那么您应该从输入中获得一个格式化的日期。

因此,看起来你的代码会是这样的:

function importMongoDBData() {
const sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const getData = UrlFetchApp.fetch('https://....').getContentText()
const jsonObj = JSON.parse(getData)
for(let i=0;i<5;i++){
sheet1.getRange(i+2, 1).setValue(new date(jsonObj[i].createdAt.$date.$numberLong))
}
}

相关内容

最新更新