我有一个活动的开始日期,如2016年10月13日 - 18:30,活动持续时间为4天。我希望它使用jquery显示在2016年10月13日至16日的DIV
内,如果持续时间仅为一天,则仅显示2016年10月13日。
是否有可能使用jQuery。请帮忙
答案 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);
});