示例1:假设日期格式为“YYYY/MM/DD”,计算相对于今天的天数。函数fromNow(date){varmTimes=newDate(date);varfromTimes=Date.now()-mTimes.valueOf();returnMath.floor(fromTimes/(24*60*60*1000));}vardate="2015/09/18";console.log(fromNow(date));//3二:输出n之后的日期固定格式的天数functionafterToday(n){v??arendTimes=Date.now()+n*24*60*60*1000;varendDate=newDate(endTimes);returnendDate.getFullYear()+"/"+(endDate.getMonth()+1)+"/"+endDate.getDate();}console.log(afterToday(2));//2016/09/23三:输出确认日期后n天的日期,格式为"YYYY/MM/DD"functionafterDate(date,n){v??armTimes=newDate(date);varendTimes=mTimes.valueOf()+n*24*60*60*1000;varendDate=newDate(endTimes);返回endDate.getFullYear()+"/"+(endDate.getMonth()+1)+"/"+endDate.getDate();}afterDate("2016/02/28",1);//2016/02/29解释首先说明写这篇文章的意图,时间操作是js中常用的操作,在一般的应用中,对时间同步的要求不高,大多使用本地时间,这也使得DateAPI很重。我们只需要深入了解几种常用的方法,就可以不用频繁依赖第三方来控制Date。这里我们只对日期进行操作,不对时间进行操作。Date对象是js的一个内置对象,封装了所有关于时间操作的方法,都声明在它的prototype属性中,在它的构造函数中有两个常用的方法,now()和parse(),两者都返回70年以来的毫秒数。返回毫秒数的另一种方法是实例的valueOf()方法。直接操作毫秒会让我们在计算日期关系时更加灵活和精确。将毫秒转换为日期时,只需要调用Date的实例构造方法组装字符串即可。在实际应用中,对时间操作会有各种需求,欢迎补充,我会一一解答。(原创内容,欢迎转载)
