我试图在没有时间部分的情况下比较javascript中的两个日期。第一个日期来自jquery datepicker,第二个日期来自字符串。
虽然我可以发誓我的方法在不久前工作但现在看起来它不起作用。
我的浏览器是Firefox,但我也需要我的代码才能在IE中使用。
function selectedDateRetentionDaysElapsed() {
var dateSelectedDate = $.datepicker.parseDate('dd/mm/yy', $('#selectedDate').val());
// dateSelectedDate is equal to date 2015-09-30T14:00:00.000Z
var parsedRefDate = isoStringToDate('2015-11-10T00:00:00');
var reportingDate = getPredfinedDateWithoutTime(parsedRefDate);
// reportingDate is equal to date 2015-11-10T13:00:00.000Z
var businessDayCountFromCurrentReportingDate = getBusinessDayCount(dateSelectedDate,reportingDate);
// businessDayCountFromCurrentReportingDate is equal to 39.9583333333336
if (businessDayCountFromCurrentReportingDate >= 40) {
return true;
}
return false;
}
function isoStringToDate(dateStr) {
var str = dateStr.split("T");
var date = str[0].split("-");
var time = str[1].split(":");
//constructor is new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
return new Date(date[0], date[1]-1, date[2], time[0], time[1], time[2], 0);
}
function getPredfinedDateWithoutTime(myDate) {
myDate.setHours(0,0,0,0)
return myDate;
}
我的问题是......
有人可以帮我解决这个问题吗。
答案 0 :(得分:3)
获取两个日期之间的整天数的最简单方法是为设置为同一时间的主题日期创建两个日期对象。中午是方便的,因为它意味着日期部分不受夏令时的影响(有些地方在午夜介绍它),如果你碰巧打印出日期部分。
以下是主机系统时区内的所有计算。可以使用UTC(并且将小时设置为0,因为夏令时根本不是问题),但是输入更多内容。
E.g:
SET "userid=root"
SET "passwd=Wel<come>1%%"
for /f "delims=" %%i in ('type "ipaddress.txt" ') do (
pushd "C:\Program Files (x86)\PuTTY"
SETLOCAL EnableDelayedExpansion
plink.exe -pw !passwd! %userid%@%%i hostname
ENDLOCAL
popd
)
&#13;