2016-05-27 13 views
-1

私はこれを初めて使い、オンラインでコードを見つけることでこれをつなぎとめています。私は現在の日付と時刻ESTに基づいて最も早い納期を表示する必要があります。ブロックアウトの日付は、日曜日と月曜日です。私はそれがローカルマシンのタイムゾーンに基づいて動作しているが、私はそれがESTのみに基づいている必要があります。カットオフ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