首页 > 代码库 > js中字符串转换为日期和比较大小
js中字符串转换为日期和比较大小
本文转载于:http://yun342173024.iteye.com/blog/1873756
在做前端校验的时候,要做日期比较的校验,在js中把字符串转化为日期,一时之间还真不知道在js中怎么把一个字符串格式的日期转化为Date,查看了一些资料,在此分享下。
下面以调用js中Date(year,month,day)来生成一个日期对象。
1.把字符串格式转换为日期的函数,函数接受两个参数,dateStr字符串日期格式, separator日期格式分隔符,默认是-。,这里没有对字符串的日期格式做校验,因为大部分的日期都是通过日期控件选择的,在此没做校验。
var stringToDate = function(dateStr,separator){ if(!separator){ separator="-"; } var dateArr = dateStr.split(separator); var year = parseInt(dateArr[0]); var month; //处理月份为04这样的情况 if(dateArr[1].indexOf("0") == 0){ month = parseInt(dateArr[1].substring(1)); }else{ month = parseInt(dateArr[1]); } var day = parseInt(dateArr[2]); var date = new Date(year,month -1,day); return date; }
2.js中的日期比较,直接可以使用 > < 操作符用来比较日期对象,比如下面的函数,比较两个日期对象,但是不能用 == 直接比较日期,所以这里用毫米数比较
var compareDate = function(date1,date2){ return date1> date2; } //比较日期相等 var equals = function(date1,date2){ return date1.getTime() == date2.getTime(); }
注意,js中的日期对象的月份是0-11,不是1-12。把字符串格式转化为日期格式是应把月份减去一,比如你把“2013-12-21”转化为时间类型,会是2014-1-21。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。