我一直在开发一个新网站,但遇到了一个奇怪的日期时间问题,我似乎无法找出问题所在。
我的登台服务器在这里:链接
如您所见,人们可以“现在”或“未来”查询出租车。
应该发生的是,如果您选择“未来”并提前 2 小时以上输入日期/时间,那么我将能够为您提供出租车的实时报价。如果提前期少于 2 小时,那么您应该看不到任何“实时”报价。
我正在基于芬兰一家公司的 API 开发它,他们也一直在对其进行测试。
芬兰的人报告说,即使他们选择“现在”,他们仍然会得到不应该的实时报价。
我使用一些 JavaScript 来填充页面上的日期时间选择器,如下所示:
var d = new Date();
var curr_hour = d.getHours(); // this is in 24 hour
var curr_minute = d.getMinutes();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
if (curr_minute < 15) { $("#enquiry_timeMins").val(15); }
if (curr_minute >= 15 && curr_minute < 30) { $("#enquiry_timeMins").val(30); }
if (curr_minute >= 30 && curr_minute < 45) { $("#enquiry_timeMins").val(45); }
if (curr_minute >= 45 && curr_minute < 59) { $("#enquiry_timeMins").val(00); curr_hour = curr_hour + 1; }
if (curr_hour >= 12) {
$("#enquiry_timeAMPM").val("PM");
$("#enquiry_timeHours").val(curr_hour - 12);
}
else {
$("#enquiry_timeAMPM").val("AM");
$("#enquiry_timeHours").val(curr_hour);
}
$("#enquiry_pickupTime").val(curr_date + "/" + curr_month + "/" + curr_year);
然后在我的控制器中我这样做:
theRoute.enquiry.pickupTime = theRoute.enquiry.pickupTime.AddHours(theRoute.enquiry.timeHours);
theRoute.enquiry.pickupTime = theRoute.enquiry.pickupTime.AddMinutes(theRoute.enquiry.timeMins);
if (theRoute.enquiry.timeAMPM == "PM") { theRoute.enquiry.pickupTime = theRoute.enquiry.pickupTime.AddHours(12); }
这似乎对我来说非常有效,但我在英国。芬兰的小伙子们恰好也提前了 2 小时。这似乎不仅仅是一个巧合,因为交货时间也提前了 2 小时。
任何人都可以看到我没有考虑过的任何事情,这使得这项工作在英国而不是在芬兰,以及可能在其他国家也能奏效吗?