这是我的代码,我的问题是由我认为的浏览器造成的......
// TODO This will be replaced with an ajax call... testing: T00:00:00-05:00 T00:00:00.000Z
sampleJson = '[{ "MinMonth": "01", "MinYear": "2005", "MaxMonth": "06", "MaxMYear": "2015" }]';
var myObject = sampleJson.substring(1, sampleJson.length - 1);
myObj = jQuery.parseJSON(myObject);
minDate = new Date(myObj.MinYear + "-" + myObj.MinMonth + "-01");
console.log(minDate);
//console.log(sampleJson);
$(".date-picker").datepicker({
format: "mm-yyyy",
//viewMode: "year",
minViewMode: "months",
defaultViewDate: "year",
startDate: minDate,
startView: "years",
todayBtn: false,
autoclose: true
});
console.log(minDate);
这是我在console.log()中得到的: 2004年12月31日星期五19:00:00 GMT-0500(东部标准时间)
另外,在第5行,我已经尝试过结束" -01");与" T00:00:00-05:00"声明(暗示)一个时区并且它有效,但我担心它不会为我(东部标准时间)时区以外的人工作......
我尝试将日期作为字符串传递,但DatePicker显然想要一个日期对象,因为如果我不使用初始化命令,它会将值默认为今天的日期#34;新日期(...)"在5号线。非常感谢任何帮助,我已经研究并找到了一些相关的帖子,但没有人帮助过。
另外,我试过把" Z"对于时区,我认为这会阻止浏览器减去时区的差异,但它仍然存在。
更新7/1/2016:
// TODO This will be replaced with an ajax call... testing: T00:00:00-05:00 T00:00:00.000Z
sampleJson = '[{ "MinMonth": "01", "MinYear": "2005", "MaxMonth": "06", "MaxMYear": "2015" }]';
var myObject = sampleJson.substring(1, sampleJson.length - 1);
myObj = jQuery.parseJSON(myObject);
minDate = new Date(Date.UTC(myObj.MinYear, (myObj.MinMonth - 1)));
console.log(minDate);
//console.log(sampleJson);
$(".date-picker").datepicker({
format: "mm-yyyy",
//viewMode: "year",
minViewMode: "months",
defaultViewDate: "year",
startDate: minDate,
startView: "years",
todayBtn: false,
autoclose: true
});
console.log(minDate);
我已经尝试过将UTC功能简单地从1970年或者其他任何方面减去,并且从那天起它仍然减去-5小时......浏览器显然想要赢得这场战斗......