JS比较两个日期的大小

JS比较两个日期的大小,第1张

吴维炜

于 2018-08-03 17:57:47 发布

30629

 收藏 20

分类专栏: 前端就那么回事 文章标签: js日期大小的比较 比较日期大小

版权


订阅专栏

超级会员免费看

最近遇到一个问题是关于日期的大小比较,如果日期不同位就会出现判断错误,所以这里惊醒一下自己。出现这个情况的原因是,字符串比较小,遵循从左到右的原则,'2’和’1314’比较,'2’大于’1314’。

方法一:

function CompareDate(d1,d2)

{

  return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));

}

var current_time = "2018-7-3 7:30";

var stop_time = "2018-8-31 8:30";

alert(CompareDate(current_time,stop_time));

1

方法二:

var date= new Date();

//2把字符串格式转换为日期类

var startTime = new Date(Date.parse(begintime));

var endTime = new Date(Date.parse(endtime));

//进行比较

return (startTime>endTime);

//return (startTime>endTime);


————————————————

版权声明:本文为CSDN博主「吴维炜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_38209578/article/details/81392199

js中比较两个日期的大小

一、比较两个字符串格式的日期

思路:先得到两个字符串格式的日期,之后利用Date.parse()方法把这些字符串日期转成时间戳(实际上就是计算出从1970年00:00:00到目前时间日期的毫秒数),然后再比较两个时间戳的大小,就能判断日期大小。

1、得到标准的字符串格式的日期

一般我们的字符串格式的日期,大多是这样:’2015/01/12’或者是 '2017-8-13’,前者是比較标准的字符串格式,后者在火狐下直接使用Date.parse()方法会报错,所以如果为了兼容所有的浏览器,我们先要把日期字符串格式全部转成前者统一下

let date1='2016-8-13'let date2='2016-8-23' //字符串日期

转换格式

let date1_s=date1.replace(/\-/g,'/')`   //利用正则将字符串格式转换统一标准格式 date1_s输出:2016/8/23.let date2_s=date2.replace(/\-/g,'/')

2、转成时间戳

let date1_unix=Date.parse(date1_s) //將字符串格式日期转化为时间戳,就是1970年到当前日期的毫秒数let date2_unix=Date.parse(date2_s) //將字符串格式日期转化为时间戳,就是1970年到当前日期的毫秒数

3、比较

我直接用 大于号>进行的比较

二、比较字符串格式的日期和new Date()的日期

使用new Date()的toLocaleDateString方法,new Date().toLocaleDateString()获取yyyy/mm/dd格式的日期,然后再Date.parse()转成时间戳进行对比

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » JS比较两个日期的大小

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情