显示结束日期从开始日期和持续时间使用jQuery

Display End Date from Start Date and Duration using jQuery

本文关键字:日期 持续时间 jQuery 开始 结束 显示      更新时间:2023-09-26

我有一个事件的开始日期,如2016年10月13日- 18:30,事件持续时间为4天。我想用jquery把它显示在DIV中,比如2016年10月13日至16日,如果持续时间只有一天,它将只显示2016年10月13日。

有可能用jQuery来做吗?请帮助

您可以尝试这个演示链接在这里https://jsfiddle.net/zytz3e9p/1/

HTML:

<div class="startDate"></div>
<div class="eventDuration"></div>

JS(使用jquery)-

 $(document).ready(function(){
  var monthNames = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December" ];
  var eventDate = '28 October, 2016 - 18:30';   
  eventDate = eventDate.split('-')[0];
  var eventDuration = 2;
    var eDate = new Date(eventDate);
  var sDate =new Date(eventDate); 
  sDate.setDate(eDate.getDate() + eventDuration -1);
  console.log(sDate);
  var startDate = eDate.getDate();
  var endDate = sDate.getDate(); 

  var text=''
  if(eventDuration == 1){
     text = startDate+' '+ monthNames[eDate.getMonth()]+',    '+eDate.getFullYear();
  }
  else if(sDate.getMonth() != eDate.getMonth() && sDate.getFullYear() == eDate.getFullYear())
  {
  text = startDate+' '+ monthNames[eDate.getMonth()]+" - "+endDate+' '+ monthNames[sDate.getMonth()]+',       '+eDate.getFullYear();
  }
   else if(sDate.getFullYear() != eDate.getFullYear())
  {
  text = startDate+' '+ monthNames[eDate.getMonth()]+',       '+eDate.getFullYear()+" - "+endDate+' '+ monthNames[sDate.getMonth()]+',    '+sDate.getFullYear();
  }
  else{
   text = startDate+"-"+endDate+' '+ monthNames[eDate.getMonth()]+',      '+eDate.getFullYear();
  }
  $(".startDate").text("Start Date: "+ eventDate);
   $(".eventDuration").text("Duration: "+text);
});