JavaScript в Safari> расчет разницы во времени - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь получить: 1. разницу во времени для расчета; 2. вернуть дату в указанном формате c; 3. разные переменные, чтобы позволить мне разбить дату в разных форматах. например, только ГГГГ, только ЧЧ, чтобы рассчитать разницу во времени на этом уровне.

Приведенный ниже код работает для Chrome, Firefox, но он не работает в Safari. когда я проверяю все переменные в консоли в Safari, я получаю ответ «NaN» для любой переменной var после final_date. Я думаю, что это может быть что-то с функцией даты, но я не знаю, как это исправить, чтобы она работала в разных браузерах.

var now = new Date(); //todays date
var convert_string = now.toUTCString();
var split_convert_string = convert_string.split(" ");
 //var split_convert_string_1= split_convert_string.split(",");
var split_convert_string_hour = split_convert_string[4].split(":");

var end = "07/04/2020 14:00:00"; // another date
var split = end.split("/");
  var split_year = split[2].split(" ");
  var split_hour = split_year[1].split(":");// COMPLETE TIME
  var split_month =split[1];// MONTH
  var split_day= split[0];// DAY
  var HH = split_hour[0];//HH
  var completed_date = split[0]+"/"+split[1]+"/"+split_year[0]
var completed_time = split_hour[0]+":"+split_hour[1]+":"+split_hour[2]


var hrDiff=Math.abs(Number(split_hour[0]) - Number(split_convert_string_hour[0]));
    var minDiff=Math.abs(Number(split_hour[1]) - Number(split_convert_string_hour[1]));
var secDiff=Math.abs(Number(split_hour[2]) - Number(split_convert_string_hour[2]));


var final_date=new Date(split_year[0]+"-"+split[1]+"-"+split[0]+" "+split_hour[0]+":"+split_hour[1]+":"+split_hour[2]);

//var end = new Date("2020-03-09 14:00:00 "); // another date
var diff = new Date(now.getTime() - final_date.getTime());
var year = diff.getFullYear() -1970;
var hour = diff.getHours();
var month = diff.getMonth();
var day = diff.getDate()-1;
var hour = (Math.abs(now.getTime() - final_date.getTime()) / 36e5);
var hours= Math.round(hour);
var day_difference= now - final_date;
var day_difference_convert= Math.floor(day_difference/1000/60/60/24);

var difference = year +" years " + month + "Months " + day + "Days " + hrDiff + "hours "+minDiff+" min "+secDiff+" sec";    


//var diff = (nowdate - enddate)/3600000;
//var diff = Math.floor(Math.abs(nowdate - enddate) / 36e5);
//var diff = Math.abs((now.getTime() - final_date.getTime())/36e5);
//var diff = Math.abs(now.getTime() - end.getTime()) / 3600000;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...