Current offset of time
by Евгений
HTML
<div class="result"></div>
SCSS
.result,
.resume,
.debug {
border: 1px solid grey;
background-color: #dbdbdb;
padding: 0 4px 4px 4px;
line-height: 1.5rem;
&::before {
display: block;
padding: 4px;
margin: 0 -4px;
background-color: grey;
}
&:empty {
display: none;
}
}
.result::before {
content: 'result:';
}
.resume::before {
content: 'resume:';
}
.debug::before {
content: 'debug:';
}
JavaScript
const getOffset = (timeZoneCode, date) => {
const now = new Date(date);
const utcString = now.toLocaleString("en-US", {timeZone: 'UTC'});
let targetString;
try {
targetString = now.toLocaleString("en-US", {timeZone: timeZoneCode});
} catch(e) {
targetString = now.toLocaleString("en-US", {timeZone: 'UTC'});
}
return ((new Date(targetString)).getTime() - (new Date(utcString)).getTime());
}
const run = () => {
const date = '2021-11-22T07:22:37.1666667Z';
const offset = getOffset('Europe/Kiev', date) / 60000;
document.querySelector('.result').textContent = `Offset of time is ${offset} minutes`;
}
run();