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)
  1. 当我使用 SpreadsheetApp Class 获取值时,它带有正常的日期时间值。

     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(6, 6).getValue()
    

    结果:10 月 25 日 15:00:00 GMT+09:00 2021

  2. 但是在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());
}

执行日志: