Где разница в 3 дня? - PullRequest
0 голосов
/ 28 июня 2019

Мне нужно получить разницу между 2 днями, ничего страшного.Но когда я ухожу, например, из дней разницы между 2019-06-27 11:00 и 2019-06-30 08:00 (разность 3 дня), возвращается 4 дня.Каждое различие> 2 переходит 3-й день и возвращает 1 дополнительный день.

Я работаю с Ubuntu 18.04 LTS и пробовал использовать последнюю версию Google Chrome версии 75.0.3770.100 (сборка официальная) (64 бита)Я пробовал моменты с той же проблемой, затем переместился на объект Date, родной для javascript, и с той же проблемой.

var oneDay=24*60*60*1000;
var firstDay= new Date(pickUpDate[2],pickUpDate[1]-1,pickUpDate[0],0,0,0);
var secondDay= new Date(returnDate[2],returnDate[1]-1,returnDate[0],0,0,0);
days=(secondDay.getTime()-firstDay.getTime())/oneDay;
console.log(days)

//input:pickUpDate[]=["01","07","2019"]
//returnDate[]=["03","07","2019"]
//output: 2
//input:pickUpDate[]=["01","07","2019"]
//returnDate[]=["04","07","2019"]
//output: 4


Date1= moment(pickUpDate+' '+phour,'DD/MM/YYYY HH:mm');
Date2=moment(returnDate+' '+rhour,'DD/MM/YYYY HH:mm');
days=moment.duration(Date2.diff(Date1))/(1000*60*60*24);
console.log(days)

//input:pickUpDate="01/07/2019"
//returnDate="03/07/2019"
//phour="11:00"
//rhour="08:00"
//output: 2.rightdecimals
//input:pickUpDate="01/07/2019"
//returnDate="04/07/2019"
//phour="11:00"
//rhour="08:00"
//output: 4.rightdecimals

//Also tried moment.duration().asDays() and the same history.

Нет ошибок на консоли

EDIT

Пробовал один и тот же код в Windows 10 и последней версии Chorme и работает отлично, надеюсь, кто-нибудь знает, что происходит.Мое дневное время (UTC-06: 00) Гвадалахара, Сьюдад-де-Мехико, Монтеррей

...