【问题标题】:EST Date Javascript [duplicate]EST 日期 Javascript [重复]
【发布时间】:2016-05-27 18:34:43
【问题描述】:

我是新手,一直在通过在线查找代码将其拼凑起来。我需要根据当前的日期和时间 EST 显示最早的交货日期。停止日期是周日和周一。我让它基于本地机器时区工作,但我需要它仅基于 EST。美国东部标准时间的截止时间是下午 3 点,因此太平洋时间的截止时间是下午 12 点。我希望这是有道理的。这是我到目前为止的代码。

<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 集成吗?如果我可以做任何改进,请告诉我?

非常感谢。

【问题讨论】:

    标签: javascript date time timezone


    【解决方案1】:

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

    那里有很多示例和文档。

    【讨论】:

    • 这不是答案,应该是评论。内置的 Date 很简单,它有一个时间值和一些基本的方法,就是这样。
    猜你喜欢
    • 2015-12-04
    • 2012-02-22
    • 1970-01-01
    • 2016-02-25
    • 2012-07-05
    • 2016-07-08
    • 2011-02-14
    • 2014-01-10
    • 1970-01-01
    相关资源
    最近更新 更多