Работая с лямбда-функцией, все отлично работает локально, но мой метод 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
Есть идеи?