日期比较出错
Date comparison getting error
我们卡住了日期比较,我们尝试了下面的代码。EndDate 值与 2016 年 1 月 21 日有关,但在显示Fri Sep 01 2017 10:10:10 GMT+0530 (India Standard Time)
的警报中,您能否分享我您的想法
var endDateVal = "21/01/2016 10:10:10".replace(/-/gi, "/");
alert(new Date(endDateVal));
if (new Date(endDateVal) > new Date()) {
alert("Last end date should be minor than today");
}
小提琴
日期格式不正确。日期必须是符合 ISO 8601 或 IETF 的 RFC 2822 格式的日期,例如:
2016-01-21T10:10:10+05:30
要格式化您的日期,您可以执行以下操作:
var dateVars = "21/01/2016 10:10:10".match(/'d+/g);
var reformattedDate = dateVars[2] + '-' + dateVars[1] + '-' + dateVars[0] + 'T' + dateVars[3] + ':' + dateVars[4] + ':' + dateVars[5] + '+05:30';
new Date(reformattedDate);
首先,new Date("21/01/2016 10:10:10")
返回Invalid Date
。Date 的默认格式为 mm/dd/yyyy
而不是 dd/mm/yyyy
。
其次,在比较日期时,您应该改用date.getTime()
。
下面是一个示例代码。
var endDateVal = "02/21/2016 10:10:10";
var d1 = new Date(endDateVal)
var d2 = new Date();
console.log(d1, d2)
if (+d1 > +d2) {
alert("Last end date should be minor than today");
}
您需要将
日期/月份交换为01/21/2016 10:10:10
。
另外,我不确定您为什么要使用 .replace(/-/gi, "/");
,因为这正在用您的日期没有任何-
的/
替换-
。
相关文章:
- 比较从函数和生成的日期对象
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- jQuery自定义验证比较多个输入的序列
- 反向字符串比较
- 通过JSON&比较时间
- 将DOM节点值与字符串Javascript进行比较
- 在Meteor项目中安装并包含npm模块后出错
- 解析JSON并从中删除对象会出错
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- AngularJS指令出错-无法读取属性'编译'的未定义
- 比较Javascript中的两个字符串时出错
- 比较$watch函数内的基元类型时出错
- 比较javascript中的数组时出错
- 日期比较出错
- 处理异常:读取键并进行比较,然后输出,否则出错
- JQuery比较字符串时出错
- 为什么我得到一个未定义的变量?将变量与未定义进行比较时出错
- 登录时比较哈希值时出错