Javascript 为不同的城市、国家显示不同的时区
救命啊!我试图为不同的城市、国家(offset/UTC)显示不同的时区。这样,当我设置营业时间时,如果它打开或关闭,它将显示。这是我的JS:Javascript 为不同的城市、国家显示不同的时区,javascript,Javascript,救命啊!我试图为不同的城市、国家(offset/UTC)显示不同的时区。这样,当我设置营业时间时,如果它打开或关闭,它将显示。这是我的JS: var checkTime = function () { var now = new Date(); var timeDiv = document.getElementById('timeDiv'); var messageDiv = document.getElementById('messageDiv'); timeDiv.innerHTML = n
var checkTime = function () {
var now = new Date();
var timeDiv = document.getElementById('timeDiv');
var messageDiv = document.getElementById('messageDiv');
timeDiv.innerHTML = now.toString();
var dayOfWeek = now.getDay(); // 0 = Sunday, 1 = Monday, ... 6 = Saturday
var hour = now.getHours(); // 0 = 12am, 1 = 1am, ... 18 = 6pm
// check if it's a weekday between 9am and 6pm
if (dayOfWeek > 0 && dayOfWeek < 6 && hour > 8 && hour < 18) {
messageDiv.innerHTML = 'Yes, we\'re open!';
messageDiv.className='open';
}
else {
messageDiv.innerHTML = 'Sorry, we\'re closed!';
messageDiv.className='closed';
}
};
setInterval(checkTime, 1000);
checkTime();
var checkTime=函数(){
var now=新日期();
var timeDiv=document.getElementById('timeDiv');
var messageDiv=document.getElementById('messageDiv');
timeDiv.innerHTML=now.toString();
var dayOfWeek=now.getDay();//0=星期日,1=星期一,…6=星期六
var hour=now.getHours();//0=12am,1=1am,…18=6pm
//检查工作日是否在上午9点到下午6点之间
如果(星期日>0和星期日<6和小时>8和小时<18){
messageDiv.innerHTML='是的,我们是开放的!';
messageDiv.className='open';
}
否则{
messageDiv.innerHTML='抱歉,我们已经关闭!';
messageDiv.className='closed';
}
};
设置间隔(检查时间,1000);
检查时间();
使用矩时区库,您可以执行以下一些功能:
格式化任何时区的日期
var jun = moment("2014-06-01T12:00:00Z");
var dec = moment("2014-12-01T12:00:00Z");
jun.tz('America/Los_Angeles').format('ha z'); // 5am PDT
dec.tz('America/Los_Angeles').format('ha z'); // 4am PST
jun.tz('America/New_York').format('ha z'); // 8am EDT
dec.tz('America/New_York').format('ha z'); // 7am EST
jun.tz('Asia/Tokyo').format('ha z'); // 9pm JST
dec.tz('Asia/Tokyo').format('ha z'); // 9pm JST
jun.tz('Australia/Sydney').format('ha z'); // 10pm EST
dec.tz('Australia/Sydney').format('ha z'); // 11pm EST
在时区之间转换日期
var newYork = moment.tz("2014-06-01 12:00", "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london = newYork.clone().tz("Europe/London");
newYork.format(); // 2014-06-01T12:00:00-04:00
losAngeles.format(); // 2014-06-01T09:00:00-07:00
london.format(); // 2014-06-01T17:00:00+01:00
您可以在这里找到库:首先,javascript使用客户端机器的时间,这意味着您不必担心时区(当您调用“new Date()”)时),它将始终位于客户端位置 但是,对于开放时间,您需要在服务器端检查商店是否位于另一个位置(时区不同),因为客户端时间无法完全占用 此外,您不能对时区函数进行编码,如果仍然需要处理它,则必须使用库。为什么?原因如下:
在你的代码中,我看不到任何地方需要时区。你在哪里指定你想要时区的城市和国家?如果你反对投票,请留下评论,我的答案没有错误,我没有添加指向库的链接,因为赛斯已经添加了链接