谷歌脚本 - 将日期转换为纪元时间

Iwi*_*his 8 google-apps google-apps-script

我已经在这方面工作了很长时间,还没有找到任何适合我需要的东西。

现在,我有一系列日期——它们都看起来像这样——

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

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

1364688000

只能通过 Google Script。

你会怎么做呢?

Kyl*_*ell 8

=(A3-DATE(1970,1,1))*86400
Run Code Online (Sandbox Code Playgroud)

A3 类似于“2/20/2018”


Ser*_*sas 3

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

Logger.log(new Date(2013,3,31,0,0,0,0).getTime());
Run Code Online (Sandbox Code Playgroud)

您的值以秒为单位,因此我们可以除以 /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');
}
Run Code Online (Sandbox Code Playgroud)

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