【问题标题】:Google-Apps-Script - convert HH:MM argument to fraction of a dayGoogle-Apps-Script - 将 HH:MM 参数转换为一天的一小部分
【发布时间】:2018-11-12 23:24:31
【问题描述】:

我的 Google 表格的单元格中有“12:30”。它作为参数传入我的函数(Google Apps 脚本),我希望能够提取值 12 和值 30。然后我希望能够返回 0.5+0.0208333 = 0.5208333 来表示12:30 代表的日子。 我已经搜索并无法找到解决这个简单问题的方法。 当我在 Google 表格上将格式更改为“数字”时,它作为浮点 0.520833 正确传递,但这违背了允许用户在 Google 表格用户界面上输入“HH:MM”格式值的目的。 谁能告诉我如何,特别是在 Google Apps 脚本中,我可以提取作为“HH:MM”参数传入的 HH 和 MM。

【问题讨论】:

  • 看看JavaScript中的split方法
  • 感谢 Cooper 但是...当我使用 str.split(";") 我在 Google 表格单元格上弹出以下错误:>> TypeError: Cannot find function split in object it's as如果 Google Apps 脚本中不存在 split() 函数和许多其他正常的 Javascript 函数!结果我也很困惑!
  • 哦,所以它可能被视为 Date()。所以尝试使用这些方法。
  • 或者 toString().
  • 感谢库珀!只需按照您的建议执行 toString() 并随后运行字符串函数,我就可以将 HH 和 MM 作为整数值。你所说的 toString() 帮助我克服了绊脚石,然后一帆风顺。干杯!

标签: datetime google-apps-script time


【解决方案1】:
  • 在 Google 表格中选择列(例如 A:A)并将其格式化为 HH:MM。这将使用户能够以HH:MM 格式输入。
  • 使用 apps-script 更改 onEdit 的数字格式

示例脚本:

function onEdit(e){
 if (e.range.columnStart != 1) return; //A:A
 e.range.setNumberFormat('#.######');
}

【讨论】:

  • 谢谢,但它甚至无法回答我提出的问题。
  • @purn 如何以及为什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多