fechasCanarias

by jpeter06

HTML

<button onclick="calcular()">
calcular
</button>
<br>
<textarea id="textArea" rows="10" cols="80">
  
</textarea>

CSS

html, body{
  width: 100%;
  height: 100%;
  padding: 0px;
  margin: 0px;

}
#superpadre{
  background: green;
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
}
.padre{
  height:50%;
  width:250px;
  background:red;

  position:relative;
}

#container3{
  height:100%;
  width:100%;
  background: orange;

}

JavaScript

function convertTZCanary(date) {
	  const inDate = typeof date === "string" ? new Date(date) : date;
    const tempDate = new Date(inDate.toLocaleString("en-US", {timeZone: 'Atlantic/Canary'}));
    console.log("diff:", (inDate.getTime()  - tempDate.getTime()))
    return new Date(inDate.getTime() * 2 - tempDate.getTime());   
}

function getTimeYesterday21Date(dateOrig){
  var date = dateOrig ? (typeof dateOrig === "string" ? new Date(dateOrig) :dateOrig) : new Date();
  date.setHours(-3);
  date.setMinutes(0);
  date.setMilliseconds(0);
  date.setSeconds(0);
  return date;
}

function calcular() {
 var date = getTimeYesterday21Date('2011-03-19T00:00:00Z');
 let result =" Local TimeZone: " + 
 							Intl.DateTimeFormat().resolvedOptions().timeZone +" \n";
 result +=  date +"\n";
 var newDate = convertTZCanary(date);
 result += newDate + "\n";
 result += "Local offset: " + date.getTimezoneOffset() + "\n";
 result += "diff: " + (date.getTime() - newDate.getTime()) + "\n";
 
 console.log( Intl.DateTimeFormat().resolvedOptions());
 document.getElementById("textArea").value = result;
}

calcular();