js中比较两个日期

更新日期: 2021-10-13阅读: 1.8k标签: 日期

先得到两个字符串格式的日期,然后通过正则统一格式,将'2016-8-13'输出为'2016/8/23'。最后生成new Date的进行比较,需要注意的是JavaScript日期比较只能使用关系运算符< <= > >=。相等运算符==,!=,===,!==不能用于比较(的值)日期,因为:

  • 对于严格或抽象的比较,两个不同的对象永远不会相等。
  • 比较对象的表达式仅在操作数引用同一个对象时才为真。


方式一:关系运算符进行比较

1.你有2个从输入中得到的字符串值,你想比较它们,如下:

var date1 = '01/12/2018';
var date2 = '12/12/2018';

2.需要Date Object将它们作为日期值进行比较,因此只需将它们转换为日期,使用new Date():

date1 = new Date(date1);
date2 = new Date(date2);

3.现在简单地比较它们,使用> < >= <=

date1 > date2;  //false
date1 < date2;  //true
date1 >= date2; //false
date1 <= date2; //true

封装成函数

比如判断日期1是否大于日期2,代码如下:

function compareDate(s1,s2){
return ((new Date(s1.replace(/-/g,"\/")))>(new Date(s2.replace(/-/g,"\/"))));
}
let date1='2016-8-13'
let date2='2016-8-23' //字符串日期
compareDate(date1,date2)
//输入false
日期.比较(a,b),返回一个数字:
-1 如果 a < b
0 如果 a = b
1 如果 a > b
如果 a 或 b 是非法日期,则为 NaN


方式二: 相等运算符进行比较

如果我们需要使用运算符==,!=,===,!==来比较日期,则需要转换为时间戳或者数字进行。下面介绍获取日期时间戳的方式。

第一种方法:

var timestamp =Date.parse(new Date());

注意:这里得到的结果将后三位(毫秒)转换成了000显示,使用时可能会出现问题。例如动态添加页面元素id的时候,不建议使用。

第二种方法:

var timestamp =(new Date()).valueOf();

第三种方法:

var timestamp=new Date().getTime();


链接: https://fly63.com/article/detial/10727

解决javaScript在不同时区new Date()显示值不同问题

在日期格式化时遇到的问题,日期格式化方法在最下面。如果在中国时区 formatDate(‘2019-07-09‘) 结果是 ‘2019-07-09’,如果 在夏威夷时区 utc-10:00 或者别的时区 formatDate(‘2019-07-09‘) 结果是 ‘2019-07-08’

JS获取当前月的最后一天

为了更好的讲这节的内容,提示一个 JS 处理日期的小技巧,想获取上个月最后一天,只需要设置SetDate参数为0即可。使用 JS 获取当前月的最后一天,咱们通常的思路先获取下个月的第一天

Js如何获取某一天所在的星期?

我们这里来获取今天所在星期的始末日期,我们可以通过(new Date).getDay()来获取今天是星期几,然后再通过这个减去或者加上一定的天数,就是这个星期的开始日期和结束日期。

vue 循环取值日期格式化,字符串截取处理

用vue取值页面遍历时,每次都搜索js日期格式化和字符串长度截取,这次记录下来,以后从这里直接拿即可。html代码如下

js中Date的构造函数解读

javascript中的内置对象是我们经常会用到的,那么今天我们就来说说Date的四种构造方法吧,new Date()这是我们最常使用也最熟悉不过的Date对象的构造方法了,通过无参数的构造函数我们可以默认获取到一个代表实例化时的Date对象

js如何获取某一天所在的星期?

我们这里来获取今天所在星期的始末日期,我们可以通过(new Date).getDay()来获取今天是星期几,然后再通过这个减去或者加上一定的天数,就是这个星期的开始日期和结束日期。

ElementUI日期选择器时间选择范围限制

ElementUI是饿了么推出的一套基于vue2.x的一个ui框架。官方文档也很详细,这里做一个element-ui日期插件的补充。官方文档中使用picker-options属性来限制可选择的日期,这里举例子稍做补充。

js获取一段时间内的间隔日期

js获取指定时间范围内指定间隔天数的所有日期,前端js,已知开始时间a、结束时间b和间隔天数c,要求取在a-b这两个时间范围内、间隔c天的所有日期。

前端的各种日期操作

虽然现在处理日期方面已经有了很成熟的也很好用的库,例如(momentjs和date-fns),但是在实际开发中,我们有时候可能并不需要整个库。所以我就在下面整理了在前端开发时对日期时间的各种操作,也算是比较全的了

Safari Date() 函数对日期时间字符串(yyyy-MM-dd HH:mm:ss) 提示NaN的问题

今天发现一个奇怪的问题,在iPhone使用 safari 选择定时发布文章到OSC,选择时间后提示不是合法的时间,判断时间的代码如下:在Chrome下会输出 pass,在Safari会输出 isNaN,根据 ECMAScript 5 ISO-8601 format support: 的说法

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!