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

时间:2016-09-22 09:47:08

标签: javascript jquery date

我有一个活动的开始日期,如2016年10月13日 - 18:30,活动持续时间为4天。我希望它使用jquery显示在2016年10月13日至16日的DIV内,如果持续时间仅为一天,则仅显示2016年10月13日。

是否有可能使用jQuery。请帮忙

1 个答案:

答案 0 :(得分:2)

您可以尝试此DEMO LINK HERE 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);

});