Javascript中的日期比较类似于字符串比较
Date comparison in Javascript acts like a string comparison
我使用的是Angular,在我的控制器中有以下过滤功能:
$scope.filterDocuments = function (row) {
var dateCompare = $filter('date')(row.FilingDate, 'MM/dd/yyyy');
if (dateCompare >= $scope.dateLimit) {
if ($scope.query === '' || $scope.query === undefined) {
return true;
} else if (angular.lowercase(row.Description).indexOf($scope.query) !== -1) {
return true;
} else {
return false;
}
} else {
return false;
}
};
此函数用于在ng重复期间过滤数据。实际情况是,日期比较就像字符串比较。我已经尝试将代码更改为:
$scope.filterDocuments = function (row) {
var dateCompare = $filter('date')(row.FilingDate, 'MM/dd/yyyy');
if (dateCompare.getTime() >= $scope.dateLimit.getTime()) {
if ($scope.query === '' || $scope.query === undefined) {
return true;
} else if (angular.lowercase(row.Description).indexOf($scope.query) !== -1) {
return true;
} else {
return false;
}
} else {
return false;
}
};
而且失败得更糟!
如何解决这个问题,使日期比较工作,我可以根据日期进行筛选?
我在另一个线程上找到了答案(现在找不到)。我正在使用以下功能:
function stringToDate(_date, _format, _delimiter) {
var formatLowerCase = _format.toLowerCase();
var formatItems = formatLowerCase.split(_delimiter);
var dateItems = _date.split(_delimiter);
var monthIndex = formatItems.indexOf("mm");
var dayIndex = formatItems.indexOf("dd");
var yearIndex = formatItems.indexOf("yyyy");
var month = parseInt(dateItems[monthIndex]);
month -= 1;
var formatedDate = new Date(dateItems[yearIndex], month, dateItems[dayIndex]);
return formatedDate;
}
这需要一个日期字符串并返回一个格式化的日期。然后我用它来做比较:
if (stringToDate(dateCompare, 'mm/did/yyyy', '/') >= stringToDate($scope.dateLimit, 'mm/did/yyyy', '/')) {
它就像一个符咒:)
相关文章:
- Javascript日期格式类似于ISO,但本地
- toBoolean方法类似于toString
- 州和城市选择框类似于国家细分页面
- 通过传递图像的URL通过javascript读取/处理图像-类似于PHP中的file_get_contents
- 在BootStrap菜单栏中为所选项目设置背景,类似于BootStrap中的父导航选项
- 检测演示者工具的事件,类似于onmousedown
- 类似于Prism的Knockout js框架
- 创建类似于Google analytics的分析地图
- 敲除js变量设置类似于调用函数
- 如何处理javascript中的循环引用,类似于Excel提供迭代限制的方式
- 用null填充稀疏数组(类似于压缩两个数组)
- jQuery模态弹出的行为类似于确认和警报对话框
- 如何垂直淡出文本,类似于Amazon'的产品说明
- 如何在JavaScript中创建类似于something.function()的函数
- 使Dockerfile VOLUME的行为类似于docker compose volumes
- TypeScript代码类似于揭示模块模式结构
- E4X中是否有一种方法可以将基元数据类型的XMLList转换为类似于Array.join()的Array
- 有可能对对象中的所有键进行原子更新吗?类似于阵列拼接的东西
- tinyMCE删除背景图像:“"类似于magento的url的内容
- Javascript中的日期比较类似于字符串比较