Google Apps 脚本 onEdit() 中的日期时间格式
Datetime Formatting in Google Apps Script onEdit()
我想在 onEdit 事件上格式化日期时间输入值。
ex) 2021/10/25 15:00 -> 2021 年 10 月 25 日 3:00 下午
我在 sheet.
上输入了相同的值 (2021/10/25 15:00)
当我使用 SpreadsheetApp Class 获取值时,它带有正常的日期时间值。
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(6, 6).getValue()
结果:10 月 25 日 15:00:00 GMT+09:00 2021
但是在onEdit上使用事件对象时,它是Num类型的值。
onEdit(e){Logger.log(e.value)}
结果:44494.625
有什么方法可以将数字转换为日期时间吗?
解决方案:
使用 e.value
不能 return Date
数据类型,所以它被转换成 Number
.
您可以改用 e.range.getValue()
。
function onEdit(e) {
Logger.log(e.value);
Logger.log(e.range.getValue());
}
执行日志:
我想在 onEdit 事件上格式化日期时间输入值。
ex) 2021/10/25 15:00 -> 2021 年 10 月 25 日 3:00 下午
我在 sheet.
上输入了相同的值 (2021/10/25 15:00)当我使用 SpreadsheetApp Class 获取值时,它带有正常的日期时间值。
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(6, 6).getValue()
结果:10 月 25 日 15:00:00 GMT+09:00 2021
但是在onEdit上使用事件对象时,它是Num类型的值。
onEdit(e){Logger.log(e.value)}
结果:44494.625
有什么方法可以将数字转换为日期时间吗?
解决方案:
使用 e.value
不能 return Date
数据类型,所以它被转换成 Number
.
您可以改用 e.range.getValue()
。
function onEdit(e) {
Logger.log(e.value);
Logger.log(e.range.getValue());
}
执行日志: