我正在制作一个 JavaScript mkDate 函数,就像 PHP 所拥有的那样,并且我已经得到了正确的日期,但它比预期的时间短了 5 个小时。我已经盯着这个看了一个小时。这是我的代码:
function mkDate(hour, minute, second, month, day, year)
{
month--;
var monthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if(new Date(year, 1, 29, 0, 0).getMonth() != 2) { monthDays[1] = 29; }
var years = year - 1970;
var leapYears = parseInt((year - 1972)/4);
var days = (years - leapYears) * 365;
days += leapYears * 366;
for(var i = 0; i < month; i++) {
days += monthDays[i];
}
days += day;
var time = days * 60 * 60 * 24 * 1000;
time += hour * 60 * 60 * 1000;
time += minute * 60 * 1000;
time += second * 1000;
var tDate = new Date();
tDate.setTime(time);
return tDate;
}
var myDate = mkDate(16, 38, 23, 7, 10, 2013);
// myDate should be Wednesday, July 10, 2013 04:38:23 PM
// but myDate is coming up with Wednesday, July 10, 2013 11:38:23 AM