Момент JS расхождение в возвращаемых значениях с isBetwen в AWS Лямбда-функция против Local - PullRequest
0 голосов
/ 22 января 2020

Работая с лямбда-функцией, все отлично работает локально, но мой метод isBetween в лямбда-функции не возвращает те же результаты, которые я получаю локально, даже если логирование показывает, что значения одинаковы

Здесь мой код:

import * as moment from 'moment'
import 'moment-timezone'
import 'moment-immutable'

      let overlaps = this._overlaps(
        '2020-04-23T16:31:00.000+0000', // this is a moment object, this is what moment.format shows
       '2020-04-23T19:00:00.000+0000', // this is a moment object, this is what moment.format shows
        moment.utc('2020-04-23T12:00:00Z').tz('America/New_York'),
        moment
          .utc('2020-04-23T12:00:00Z')
          .tz('America/New_York')
          .add(120, 'minutes'),
        'America/New_York'
      )


_overlaps(proposedStart, proposedEnd, existingStart, existingEnd, timezone) {
    let existingStartBetween = proposedStart
      .local(timezone)
      .isBetween(existingStart.format(), existingEnd.format(), null, '()')
    let existingEndBetween = proposedEnd
      .local(timezone)
      .isBetween(existingStart.format(), existingEnd.format(), null, '()')
    console.log(
      `proposedStart: ${proposedStart.format()} isBetween existingStart ${existingStart.format()} and existingEnd ${existingEnd.format()}`,
      existingStartBetween
    )
    console.log(
      `proposedEnd: ${proposedEnd.format()} isBetween existingStart ${existingStart.format()} and existingEnd ${existingEnd.format()}`,
      existingEndBetween
    )
    return existingStartBetween || existingEndBetween
  }

локально я получаю

proposedStart: 2020-04-23T09:30:00-07:00 isBetween existingStart 2020-04-23T08:00:00-04:00 and existingEnd 2020-04-23T10:00:00-04:00 true
proposedEnd: 2020-04-23T12:00:00-07:00 isBetween existingStart 2020-04-23T08:00:00-04:00 and existingEnd 2020-04-23T10:00:00-04:00 false

lambda возвращает

proposedStart: 2020-04-23T09:30:00-07:00 isBetween existingStart 2020-04-23T08:00:00-04:00 and existingEnd 2020-04-23T10:00:00-04:00 false
proposedEnd: 2020-04-23T12:00:00-07:00 isBetween existingStart 2020-04-23T08:00:00-04:00 and existingEnd 2020-04-23T10:00:00-04:00 false

Я ожидаю, что независимо от того, где выполняется код isBetween вернет то же значение для тех же значений.

Нет, где в моем коде я использую текущее время, все идет от стороннего API, не то, чтобы это имело значение, учитывая значения (метки времени) одинаковы.

Локально: - узел v12.13.1 AWS: - узелjs12.x

Есть идеи?

...