【问题标题】:Google Script- Convert Date to Epoch Time谷歌脚本 - 将日期转换为纪元时间
【发布时间】:2014-09-03 09:23:15
【问题描述】:

我已经为此工作了很长时间,但还没有找到任何适合我需要的东西。

现在,我有一个日期数组——它们看起来都像这样——

2013 年 3 月 31 日星期日 00:00:00 GMT+0700 (ICT)。

我正在寻找一种方法将其转换为

1364688000

仅通过 Google 脚本。

你会怎么做呢?

【问题讨论】:

    标签: google-apps-script google-apps


    【解决方案1】:
    =(A3-DATE(1970,1,1))*86400
    

    A3 类似于“2/20/2018”

    【讨论】:

    • 精彩且非常快!
    【解决方案2】:

    应用于日期的getTime() 方法返回自JavaScript 中的纪元引用以来的毫秒数,即您要查找的内容。

    Logger.log(new Date(2013,3,31,0,0,0,0).getTime());
    

    你的值以秒为单位,所以我们可以除/1000

    但是您显示的值不正确,结果在 GMT 0 中有 31 天的偏移量...您如何获得值 1364688000

    测试代码(UTC 中的脚本属性(GMT 0 没有夏令时)

    function timeInMsSinceOrigin(){
      var val = new Date(2013,3,31,0,0,0,0).getTime()/1000;// in seconds
      var offset = val-1364688000; //in seconds too
      Logger.log('value = '+val+ '   offset : '+offset/3600+' hours  ='+offset/(3600*24)+' days');
    }
    

    记录结果:value = 1367366400 offset : 744 hours =31 days

    【讨论】:

    • 也许我没有解释清楚 - 我有一个包含这些值的数组(“Sun Mar 31 2013 00:00:00 GMT +700 (ICT)”...)将其转换为纪元时间(134688000)。
    • 好吧,上面的代码为您提供了轻松转换它们的方法...您还想知道什么?你能解释一下这 31 天的补偿是从哪里来的吗?或者您是否希望将偏移值自动转换为该月第一天的纪元值?
    • 抱歉,我的代码有错误。我不知道偏移量来自哪里。我会调查它,但我可能只包括变量偏移量。至于数字,调试器表示,对于 3 月 31 日,它将从 Google 电子表格 (3-31-2014) 中获取值并像这样输入 [(new Date(1364662800000))]
    • 当您从电子表格中读取日期时,您不需要 将其转换为 JS 原生值,它实际上已经是一个日期对象...您可以使用它上面的所有日期方法都是这样。
    猜你喜欢
    • 2018-04-24
    • 2011-12-06
    • 2021-10-17
    • 2012-09-06
    • 2012-11-08
    • 2019-01-15
    • 2016-09-15
    • 2021-12-31
    • 2015-01-23
    相关资源
    最近更新 更多