js中字符串转换为日期和比较大小


在做前端校验的时候,要做日期比较的校验,在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。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值