全日历显示 "end date" 休息一天
Fullcalendar show "end date" one day off
完整日历节目"end date"休息一天
json是1月12日到16日,但是日历显示12日到15日
这是代码
var calCon = $('.cal');
calCon.fullCalendar({
prev: 'left-single-arrow',
firstDay: 1,
weekends:true,
weekNumbers:true,
ignoreTimezone:false,
allDayDefault:true,
weekNumberCalculation:"ISO",
defaultView:"basicWeek",
timeFormat: 'H(:mm)',
events: {
url: "/calendarjson.xsp",
cache: false
}
})
这里是 json
[{"color":"#3a87ad","id":"123","allday":"1","url":"/...","end":"2015-01-16T10:00:00.0+0100","start":"2015-01-12T09:00:00.0+0100","title":"Thomas Adrian"}]
我正在使用 allDayDefault,因为时间并不重要。
我做错了什么?
我正在使用最新的 fullcalender 2.2.5
我试过更改时间,但还是一样
FullCalendar.js 使用独家结束时刻。文档说它 here。这意味着事件的结束时刻不属于从开始到结束的时间间隔,而是标记该时间间隔之后的时间点。
此处的重点是您将 allDay 的默认值设置为 true。您使用 2015-01-16T10:00:00.0+0100
作为事件的端点。但是 allDay 事件不会在 fullCalendar 内部保留时间信息。它剥离时间,只保留日期。您使用 2015-01-16T10:00:00.0+0100
作为端点。时间被剥离并且 end 被排除在外,这导致 2015-01-15T23:59:59.0+0100
,您在 fullCalendar 中看到的结果是什么。您应该使用 2015-01-17T00:00:00.0+0100
作为 allDay 活动的结束,以使其跨越到 1 月 16 日 23:59:59。
在 CS 文件中:
//HolidayList 是 class,具有属性 ID、描述、开始和结束
SqlDataReader reader = SqlHelper.ExecuteReader(ConnStr, CommandType.StoredProcedure, "NameOfStoredProcedure");
if (reader.HasRows)
{
Holiday_List itemObj = null;
DateTime start, end;
while (reader.Read())
{
itemObj = new Holiday_List();
itemObj.holiday_Id = Convert.ToInt16(reader["holidayID"]);
itemObj.description = reader["description1"].ToString();
if (reader["date1"] != DBNull.Value)
{
date = Convert.ToDateTime(reader["date1"]);
start = date.AddDays(1);
itemObj.date1 = start;
}
result.Add(itemObj);
}
}
return result;
在 CSHTML 中:
$.ajax({
type: "POST",
url: '@Url.Action("ActionMethodName", "Controller")',
contentType: false,
processData: false,
success: function (result) {
if (result != null) {
$.each(result, function (index, optiondata) {
alert(optiondata.date1 + ' ' + optiondata.enddate)
holidayList.push({
"title": optiondata.description,
"start": optiondata.startdate,
});
});
if (holidayList.length > 0) {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek'
},
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: holidayList,
displayEventTime: false
});
}
}
}
});
完整日历节目"end date"休息一天
json是1月12日到16日,但是日历显示12日到15日
这是代码
var calCon = $('.cal');
calCon.fullCalendar({
prev: 'left-single-arrow',
firstDay: 1,
weekends:true,
weekNumbers:true,
ignoreTimezone:false,
allDayDefault:true,
weekNumberCalculation:"ISO",
defaultView:"basicWeek",
timeFormat: 'H(:mm)',
events: {
url: "/calendarjson.xsp",
cache: false
}
})
这里是 json
[{"color":"#3a87ad","id":"123","allday":"1","url":"/...","end":"2015-01-16T10:00:00.0+0100","start":"2015-01-12T09:00:00.0+0100","title":"Thomas Adrian"}]
我正在使用 allDayDefault,因为时间并不重要。
我做错了什么?
我正在使用最新的 fullcalender 2.2.5
我试过更改时间,但还是一样
FullCalendar.js 使用独家结束时刻。文档说它 here。这意味着事件的结束时刻不属于从开始到结束的时间间隔,而是标记该时间间隔之后的时间点。
此处的重点是您将 allDay 的默认值设置为 true。您使用 2015-01-16T10:00:00.0+0100
作为事件的端点。但是 allDay 事件不会在 fullCalendar 内部保留时间信息。它剥离时间,只保留日期。您使用 2015-01-16T10:00:00.0+0100
作为端点。时间被剥离并且 end 被排除在外,这导致 2015-01-15T23:59:59.0+0100
,您在 fullCalendar 中看到的结果是什么。您应该使用 2015-01-17T00:00:00.0+0100
作为 allDay 活动的结束,以使其跨越到 1 月 16 日 23:59:59。
在 CS 文件中: //HolidayList 是 class,具有属性 ID、描述、开始和结束
SqlDataReader reader = SqlHelper.ExecuteReader(ConnStr, CommandType.StoredProcedure, "NameOfStoredProcedure");
if (reader.HasRows)
{
Holiday_List itemObj = null;
DateTime start, end;
while (reader.Read())
{
itemObj = new Holiday_List();
itemObj.holiday_Id = Convert.ToInt16(reader["holidayID"]);
itemObj.description = reader["description1"].ToString();
if (reader["date1"] != DBNull.Value)
{
date = Convert.ToDateTime(reader["date1"]);
start = date.AddDays(1);
itemObj.date1 = start;
}
result.Add(itemObj);
}
}
return result;
在 CSHTML 中:
$.ajax({
type: "POST",
url: '@Url.Action("ActionMethodName", "Controller")',
contentType: false,
processData: false,
success: function (result) {
if (result != null) {
$.each(result, function (index, optiondata) {
alert(optiondata.date1 + ' ' + optiondata.enddate)
holidayList.push({
"title": optiondata.description,
"start": optiondata.startdate,
});
});
if (holidayList.length > 0) {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek'
},
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: holidayList,
displayEventTime: false
});
}
}
}
});