【发布时间】:2014-02-02 10:09:49
【问题描述】:
我需要更改输入日期/时间的格式
2014 年 2 月 3 日星期一 12:00:00 GMT+0000 (UTC)
到
格林威治标准时间 2013 年 6 月 14 日星期五 14:38:13
我一直试图用我有限的 JavaScript 技能来解决这个问题,但不知道如何选择新行。
我希望对单元格范围 D:D 和 F:F 进行更改
这是我目前所拥有的;
函数 onChange() {
var sheet = SpreadsheetApp.getActive();
ScriptApp.newTrigger("fixDate")
.forSpreadsheet(工作表)
.onChange()
.create();
};
和
函数 fixDate(oldDate) {
var oldDate = '2014 年 2 月 3 日星期一 12:00:00 GMT+0000 (UTC)'
var split = oldDate.split(/ /); var newDate = split[0] + ", " + split[2] + " " + split[1] + " " + split[3] + " " + split[4] + " GMT"; Logger.log(split[0]);Logger.log(split[1]);
Logger.log(split[2]);
Logger.log(split[3]);
Logger.log(split[4]);
Logger.log(split[5]);
Logger.log(split[6]);
Logger.log(newDate);
};
【问题讨论】:
-
熟悉documentation of Date 会有所帮助吗?
-
Google Apps 脚本有一种方法可以按照您想要的方式将日期格式转换为字符串:developers.google.com/apps-script/reference/utilities/…
-
请注意,如果您将单元格内容更改为字符串,它当然不再是日期对象...您确定要这样做吗?
-
感谢你们的 cmets。 @Sergeinsas,我不在乎它是否是字符串。更重要的是如何在添加新行后在特定列范围内执行此操作,然后将其写回同一单元格。
-
使用新的电子表格推出,您实际上无法做到这一点。这是一个已知的缺陷,需要修复。您可以查看问题跟踪器(并加注星标):code.google.com/p/google-apps-script-issues/issues/…
标签: javascript google-apps-script