首页 文章

如何从谷歌表获取时间 Value

提问于
浏览
0

我有一个由表格填写的谷歌电子表格 . 有些列只包含时间(例如2:00:00),它按表单元素 date 放置 . 当我使用getRange从此电子表格中读取数据并注销此类单元格的值(随时间)时, Logger 会向我报告:

周六12月30日1899 02:18:48 GMT 0400(消费税)

我看到数据读取的格式不正确 . 如何获得像存储在工作表中的严格时间数据?有人遇到过这样的问题吗?

附:我发现了一个旁路,但它不是自动的 . 我必须将单元格格式更改为简单文本,然后获得有效输出 . 但我想知道我是否可以通过代码从单元格或范围获取平面文本?
它看起来像单元格的表单设置日期格式,并且只放入时间值,但是你无法得到时间 .

1 回答

  • 0

    经过多次实验,我已经找到了一个基本的解决方案 . 我希望,如果谷歌更新从表格中添加的时间,它会破坏 . 我所做的是采用00:00:00时间的毫秒值并在给定时间内取差值,然后使用一些简单的数学计算得出小时和分钟 .

    function extractTime(date) {
    
      var milliseconds =  date.getTime()+2209203000000;
      var time = {};
      time.hours = Math.floor(milliseconds/(1000*60*60));
      time.minutes = Math.round((milliseconds/(1000*60*60)-time.hours)*60);
    
      return time;
    
    }
    

    已经过测试,似乎有效 .

    我也在my own question中发布了这个答案 .

相关问题