You can use the Intl.DateTimeFormat constructor and the formatToParts method to determine the time at any location supported by IANA and the host implementation.
First select an IANA representative location that has the timezone offset and daylight saving rules that you want, e.g. for PST/PDT you might chose America/Los_Angeles. Then get the hour from the date at that location and compare the required values:
function getHourAtLoc(loc, date = new Date()) {
let f = new Intl.DateTimeFormat('en',{hour: '2-digit', hour12: false, timeZone: loc});
return f.formatToParts(date)[0].value;
}
let hour = getHourAtLoc('America/Los_Angeles');
let isOpen = hour >= 10 && hour < 18;
console.log('The hour is ' + hour + ' and the shop is ' + (isOpen? 'open' : 'closed') + '.');
This can be extended to other parts of a date and time.