jQuery.Gantt日期问题
我正在尝试将jQuery.Gantt()实现到我正在工作的站点中。我遇到了一个关于日期对象的奇怪问题。出于测试目的,我创建了“里程碑”1月至12月,每个里程碑的开始日期都是该月的12月16日。每一个都有相同的结束日期,即2013年6月3日的今天 每个开始日期都晚了一天(2012年第17个月)。结束日期变得很奇怪:1月、2月、11月和12月都在时间线的正确点结束,即2013年6月3日。夹在两者之间的八个月在2013年6月4日晚一天结束 我已经阅读了日期对象的规范,我的功能是以正确的格式构建它们:jQuery.Gantt日期问题,jquery,datetime,formatting,gantt-chart,Jquery,Datetime,Formatting,Gantt Chart,我正在尝试将jQuery.Gantt()实现到我正在工作的站点中。我遇到了一个关于日期对象的奇怪问题。出于测试目的,我创建了“里程碑”1月至12月,每个里程碑的开始日期都是该月的12月16日。每一个都有相同的结束日期,即2013年6月3日的今天 每个开始日期都晚了一天(2012年第17个月)。结束日期变得很奇怪:1月、2月、11月和12月都在时间线的正确点结束,即2013年6月3日。夹在两者之间的八个月在2013年6月4日晚一天结束 我已经阅读了日期对象的规范,我的功能是以正确的格式构建它们:
_getDatesforMilestone = function(milestone){
var testData = [];
var toDate = milestone.completeDate.split("-");
var fromDate = milestone.originalDate.split("-");
toDate = new Date(toDate[0], toDate[1]-1, toDate[2]);
fromDate = new Date(fromDate[0], fromDate[1]-1, fromDate[2]);
testData = [
{"from": "/Date(" + fromDate.getTime() + ")/", "to": "/Date(" + toDate.getTime() + ")/", "desc": "", "label": milestone.title, "customClass": "ganttDefault " + milestone.id + ""}
];
return testData
},
有没有其他人遇到过这个问题,或者知道为什么在这8个月之间会出现这样的情况?我立刻想到过去几个月里的30/31天,甚至去年是闰年,但现在我还是一片空白 这可能有点晚了,但它可能对其他寻求解决此问题的方法的人有用 也就是说,我刚刚经历了一个类似的问题(日期显示为前一天),经过一段时间的摆弄,我意识到这与当地时区有关 基本上,由于我目前在俄罗斯,本地时区为GMT+4,因此如果我的DateTime字段的值为mm/dd/yyyy 03:59:00 am,则日期将提前一天显示。但是,只要我将日期设置为mm/dd/yyyy 04:00:00 AM,时间线上的日期就会正确显示 由于我不会在系统中输入日期,而且我发现这个“功能”是正确且非常有用的,所以我不会去处理日期,但在用户手册中,我会要求输入人员始终以GMT格式输入时间,这应该可以防止任何问题 我希望这有帮助 致意