由于项目中需要用到给定时间格式,如'2013-08-30',需要计算其和当前时间的间隔,需要算出间隔的时间,自己在网上搜索,并做了下简单的整理,总体思路分3步:1.将给定的时间和当前时间转换为毫秒 2.计算当前时间和给定时间的毫秒差值 3.将毫秒差值在转化为天数.具体的代码如下:
1 <script> 2 function getGapDays(str) { 3 var str = str.replace(/-/g,'/'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串 4 var date = new Date(str); // 构造一个日期型数据,值为传入的字符串 5 var targetTime = date.getTime(); 6 var currentTime = Date.now(); 7 var gap, days; 8 console.info(targetTime, currentTime) 9 10 if(currentTime < targetTime) { 11 gap = targetTime - currentTime; 12 days = Math.floor(gap/86400000); 13 console.info('给定时间比当前时间多'+days+'天'); 14 } 15 else if(currentTime === targetTime) { 16 console.info('给定时间和当前时间相等'); 17 } 18 else { 19 gap = currentTime - targetTime; 20 days = Math.floor(gap/86400000); 21 console.info('给定时间比当前时间少'+days+'天'); 22 } 23 } 24 25 getGapDays('2013-08-30'); 26 </script>
第一次跟技术相关的,写的不好,还希望大家多多包涵.