I am trying to get: 1. a time difference to be calculated; 2. return the date in a specific format; 3. different variables to allow me to breakdown the date in different formats. e.g. YYYY alone, HH alone, in order to calculate time difference at this level.
The code below works for Chrome, Firefox, but it is not working in Safari. when I test all variables in the console in Safari I get a "NaN" response for any var after final_date. I think it could be something with the date function but I don't know how to fix it so that it works across browsers.
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;