getvalues() 返回 1899 年仅包含时间的单元格的完整日期

Suj*_*dke 2 datetime-format google-apps-script

如果我们只有在 Google 表格的 A1 单元格中的时间。例如,我有这个:

8:09:00 AM
Run Code Online (Sandbox Code Playgroud)

当我使用它来获取单元格的内容时:sheet.getRange(1, 1).getValue(); 这是它返回的内容:

Sat Dec 30 1899 08:09:00 GMT-0500 (EST)
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?有什么方法可以让 getvalue() 停止解释数据并获取原始数据吗?

注意:我没有为该单元格设置特殊格式。所以我猜格式是默认的(自动),我不想为包含此类数据的每个单元格更改格式。在任何情况下,包含此类时间的单元格都不会是先验已知的。

Jac*_*own 10

用于range.getDisplayValue()获取字符串形式的显示值。

有关这方面的更多详细信息可以在这里找到:Difference Between getValue() and getDisplayValue() on google app script

简而言之,getvalues 返回一个对象,可以是数字、日期或字符串。在本例中,它返回一个日期对象,这就是它的格式不同的原因。