Node.js Сохранение текущей даты в качестве значения эпохи - PullRequest
0 голосов
/ 06 декабря 2018

Я знаю, что по этому поводу есть много вопросов, но я не могу точно найти то, что ищу ..

Я создаю приложение iOS Rideshare и использую матрицу расстояний Google.Я собираюсь взять текущую дату и установить ее на полночь.Например: currentDate = 12/6/2018 12:00:00.

Я хочу взять это значение currentDate и преобразовать его в Epoch и установить его как значение baseEpoch.Таким образом, я могу взять ввод времени пользователя и добавить разницу, чтобы получить дату / время, которое они ввели в форму Epoch.

Я пробовал такие решения, как:

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 голосов
/ 06 декабря 2018

Вы можете использовать пакет momentjs для nodejs.Этот пакет поможет вам в работе с датой и временем без особых усилий.Возможно, вам придется больше покопаться в документации для лучшего понимания модуля момента (документация проста для понимания).Вот небольшой фрагмент из документов моментов.

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

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

Также использование библиотеки, подобной моменту, которая хорошо протестирована, лучше, чем написание собственных функций для обработки даты и времени по следующим причинам.

  • Код был бы очень хорошо протестирован из-за большого числа людей, использующих их в повседневной работе.
  • Нет необходимости тратить свое время на повторное изобретение колеса.
  • Дополнительные функции для будущей работы по разработке. (Например, форматирование и другие операции с датами)
  • Легко понять и реализовать даже для новых членов команды (благодаря очень хорошо написанным документам и хорошей поддержке благодаря большому количествуразработчиков, использующих библиотеку)
...