Javascript-比较没有时间的日期
Javascript - Comparing dates without time
我试图在javascript中比较两个没有时间部分的日期。第一个日期来自jquery日期选择器,第二个日期来自字符串。
虽然我可以发誓我的方法不久前有效,但现在看起来不起作用了。
我的浏览器是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;
}
我的问题是。。。
- 我的isoStringToDate函数返回一个带时间的日期,即使我没有指定时间
- 日期的setHours调用似乎也不起作用
有人能帮我做这个吗。
获取两个日期之间的全天数的最简单方法是为设置为相同时间的主题日期创建两个日期对象。中午很方便,因为如果你碰巧只打印日期部分,这意味着日期部分不受夏令时的影响(有些地方在午夜推出)。
以下内容在主机系统的时区中执行所有计算。UTC是可以使用的(由于夏令时,将小时设置为0根本不是问题),但要键入更多。
例如:
function differenceInDays(d0, d1) {
// Copy dates so don't affect originals
d0 = new Date(+d0);
d1 = new Date(+d1);
// Set to noon
d0.setHours(12,0,0,0);
d1.setHours(12,0,0,0);
// Get difference in whole days, divide by milliseconds in one day
// and round to remove any daylight saving boundary effects
return Math.round((d1-d0) / 8.64e7)
}
// Difference between 2015-11-12T17:35:32.124 and 2015-12-01T07:15:54.999
document.write(differenceInDays(new Date(2015,10,12,17,35,32,124),
new Date(2015,11,01,07,15,54,999)));
相关文章:
- Json数据包含日期和时间格式
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- primefaces日历可以禁用过去的日期和时间吗
- 将日期和时间转换为UTC格式的日期-Javascript
- 如何在模式弹出窗口中使用引导程序日期和时间选择器
- 如何将日期拆分为格式化的日期和时间
- 获取给定lat-long的javascript中的当前日期和时间
- 在 JavaScript 中保存“没有”时间的日期
- 没有时间的Javascript日期方法
- 需要在javascript应用程序中查找没有日期的时间之间的差异
- React Native Android日期和时间选择器没有;不起作用
- Javascript-比较没有时间的日期
- 如何在没有时间的情况下获得当前日期
- 转换任何日期插入到ISO格式没有时间戳在JavaScript
- 没有时间的过去数字日期
- 在javascript中比较没有时间戳的ISO日期
- 格式化jquery日期没有时间
- 如何在现有的时刻对象中获得没有时间的日期
- Javascript中没有时间戳的日期和时间
- 如何解析日期字符串从数据库没有时间移位