【问题标题】:Google Apps Script Time from Datetime number来自日期时间编号的 Google Apps 脚本时间
【发布时间】:2016-02-11 20:36:45
【问题描述】:

我有一个 Google 表格,其中包含以下格式的日期时间数字: 42,385.744166666700

我正在编写一个脚本,我想从这些数字中提取时间,格式为 HH:MM。上述数字应返回 17:51。

我试过这段代码,但不起作用:

function extractMicrosTime(DateTimeNumber) {
  var DateNumber = new Date(DateTimeNumber);
  var hours = DateNumber.getHours();
  var minutes = DateNumber.getMinutes();

  return hours + ":" + minutes;

}

【问题讨论】:

  • 您的原始时间戳似乎是一种非标准格式。如果您尝试 1455223628640 之类的方法,那么您的功能将起作用。生成此日期时间戳的原因是什么?
  • 它最初来自 Excel 工作表,格式为 MM/DD/YYYY HH:MM。无论未格式化,它都是一个很大的十进制数。

标签: javascript google-apps-script


【解决方案1】:

对于信息,这也可以通过脚本来完成。下面是 A 列的示例

function formatColumn() {
  var sh = SpreadsheetApp.getActiveSheet();
  var col = sh.getRange('A1:A');
  col.setNumberFormat('dd/MM/yyyy HH:mm:ss');
}

【讨论】:

    【解决方案2】:

    如果您将源单元格格式化为日期时间,您的函数将起作用。

    如果您确实使用它,它会返回 19:0

    A working example is here.

    【讨论】:

    • 谢谢,这行得通。尽管它似乎已格式化,但在 Google 表格中并未格式化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多