Node.js将当前日期存储为纪元值

时间:2018-12-06 16:18:32

标签: node.js google-distancematrix-api

我知道与此相关的问题很多,但是我找不到我想要的东西。

我正在创建一个iOS Rideshare应用程序,并在利用Google Distance Matrix。我想要做的是获取当前日期并将其设置为午夜。例如:currentDate = 12/6/2018 12:00:00

我想获取此currentDate值并将其转换为Epoch并将其设置为baseEpoch值。这样,我可以接受用户的时间输入,并添加差异以获取他们以纪元形式输入的日期/时间。

我尝试了以下解决方案:

function convertToEpoch(time)
{
  var sep = time.split(':');
  var seconds = (+sep[0]) * 60 * 60 + (+sep[1]) * 60 + (+sep[2]);
  return seconds;
}

function currentDateAsEpoch(time) {
  var time = new Date();
  time.setHours(0,0,0,0);

  convertToEpoch(time);
}

const baseEpoch = currentDateAsEpoch();

但是出现错误:TypeError: time.split is not a function

我希望将baseEpoch设置为当前日期,以便Google Distance Matrix不会返回departure_time错误,指出时间只能等于或将来。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以将momentjs软件包用于nodejs。该软件包可帮助您轻松处理日期和时间。您可能需要深入研究文档以更好地了解一下模块(文档很容易理解)。 这是momentjs文档的一些片段。

moment().unix();
//moment#unix outputs a Unix timestamp (the number of seconds since the Unix Epoch).

moment(1318874398806).unix(); // 1318874398

另外,由于以下原因,使用诸如矩量之类的库也要比编写自己的函数来处理日期和时间要好,该数据库经过了良好的测试。

  • 由于每天都有大量人使用该代码,因此该代码将受到很好的测试。
  • 无需浪费时间重新设计轮子。
  • 用于未来开发工作的附加功能。(例如格式化和其他日期操作)
  • 甚至对于新团队成员也易于理解和实施(由于大量使用该库的开发人员,因此文件编写得很好,并且获得了很好的支持)