我制作了一个通过 Webhook 与电子表格连接的机器人。我有一个日期格式类似于 的单元格'dd MMMM',例如"03 september"。它是从等于 03.09.2020 00:00:00 GMT+3 的一定毫秒数获得的。我想使用这个精确值 ( "03 september") 作为投票选项。你可以在下面看到我的代码。如果我按原样使用它, poll option 会以某种方式转换为 value "2020-09-02T21:00:00.000"。如果我在将所有日期发送到 JSON 之前将所有日期映射到字符串,那么此选项看起来像"Thu Sep 03 2020 00:00:00 GMT+0300 ... ". 我怎样才能让它在电报中看起来简单?UPD:我认为这Utilities.formatDate()是一个合适的解决方案,但我仍然不知道如何将月份名称格式化为俄语语言环境。function doWork() { var availableDates = scheduleSheet.getRange(1, 1, 1, 5).getValues()[0]; //var stringDates = availableDates.map(function(date) {return String(date)}); sendPoll(chatId, availableDates);}function sendPoll(chatId, options) { var data = { method: "post", payload: { method: "sendPoll", chat_id: String(chatId), question: "Some question:", options: JSON.stringify(options), is_anonymous: false, allows_multiple_answers: true, reply_markup: JSON.stringify(REMOVE_KEYBOARD) } }; UrlFetchApp.fetch('https://api.telegram.org/bot' + token + '/', data);}
1 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
出于文档目的发布此内容。
正如Tanaike建议的那样,为了在 Apps 脚本中从工作表单元格检索日期(或任何值)时保留显示格式,请使用getDisplayValues()而不是getValues():
返回显示值的二维数组,按行索引,然后按列索引。这些值是 String 对象。显示的值考虑了日期、时间和货币格式,包括由电子表格的区域设置自动应用的格式。
添加回答
举报
0/150
提交
取消