2016-05-27 28 views
-1

我对此很陌生,并且通过在线查找代码来拼凑在一起。我需要根据当前的日期和时间显示最早的交货日期。屏蔽日期是星期日和星期一。我根据本地机器时区工作,但我需要它仅基于EST。截止时间为美国东部时间下午3点,太平洋时间截止时间为下午12点。我希望这是有道理的。这是我迄今为止的代码。EST日期使用Javascript

<i class="fa fa-calendar" aria-hidden="true"></i> Choose your delivery date at checkout. 
 

 
<script src='//cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js'></script> 
 

 
<script type="text/javascript"> 
 

 
var currentTime = new Date() 
 
var hours = currentTime.getHours() 
 
var minutes = currentTime.getMinutes() 
 
var seconds = currentTime.getSeconds() 
 

 
</script> 
 

 

 
<h4 class="delivery">Earliest Delivery Date: <span id="eDelivery" class="eDelivery"></span></h4> 
 
<script> 
 
    
 
    var eDelivery = Date.today().addDays(1); 
 
     
 
    if(hours >= 15 && eDelivery.is().tuesday()){ 
 
    eDelivery = Date.today().addDays(2); 
 
    } 
 
    if(hours >= 15 && eDelivery.is().wednesday()){ 
 
    eDelivery = Date.today().addDays(2); 
 
    } 
 
    if(hours >= 15 && eDelivery.is().thursday()){ 
 
    eDelivery = Date.today().addDays(2); 
 
    } 
 
    if(hours >= 15 && eDelivery.is().friday()){ 
 
    eDelivery = Date.today().addDays(2); 
 
    } 
 
    if(hours >= 15 && eDelivery.is().saturday()){ 
 
    eDelivery = Date.today().addDays(2); 
 
    } 
 
    
 
    if (eDelivery.is().sunday() || eDelivery.is().monday()) { 
 
    eDelivery = eDelivery.next().tuesday(); 
 
    } 
 
    
 
    document.getElementById('eDelivery').innerHTML = eDelivery.toString('dddd, MMMM dS'); 
 
</script>

有人可以帮我与EST整合这个问题,以及让我知道,如果有任何的改善,我可以做什么呢?

非常感谢。

回答

0

JS本地Date API非常过时和复杂,看看http://momentjs.com,是JS IMO中最好的日期/时间库。

这里有很多例子和文档。

+0

这不是一个答案,它应该是一个评论。内置日期非常简单,它具有时间价值和一些基本方法,就是这样。 – RobG

相关问题