首页 > 解决方案 > Google Apps 脚本 onEdit() 中的日期时间格式

问题描述

我想在 onEdit 事件上格式化日期时间输入值。

例如)2021/10/25 15:00 -> 2021 年 10 月 25 日下午 3:00

我在工作表上放置了相同的值(2021/10/25 15:00)。

  1. 当我通过使用 SpreadsheetApp 类获得价值时,它带有正常的日期时间值。

     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

有没有办法将数字转换为日期时间?

标签: google-apps-scriptdatetime-format

解决方案


解决方案:

usinge.value不能返回Date数据类型,所以它被转换为Number.

你可以e.range.getValue()改用。

function onEdit(e) {
  Logger.log(e.value);
  Logger.log(e.range.getValue());
}

执行日志:

在此处输入图像描述


推荐阅读