浅谈js-FCC算法友好的日期范围(详解)

  

让日期区间更友好!

  

  

易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天(第一代替1)。

  

记住不要显示那些可以被推测出来的信息:如果一个日期区间里结束日期与开始日期相差小于一年,则结束日期就不用写年份了。月份开始和结束日期如果在同一个月,则结束日期月份就不用写了

。   

另外,如果开始日期年份是当前年份,且结束日期与开始日期小于一年,则开始日期的年份也不用写。

  

        函数makeFriendlyDates (arr) {//获得目前的年份   var yearnow=(新日期()).getFullYear ();//把传入的参数放入字符串数组,创建日期类型也可以   var date1 arr=[0] .split (“-”);   var date2 arr=[1] .split (“-”);//月份的英文表示   var月=(“1”、“2”、“3”、“4”,“可能”,“6”,“7”,“8”,“9”,“10”,“11”,“12”);//初始化几个后面用到的数组   var date1str=" ";   var date2str=" ";   var datearr=[];//给日期加后缀的函数   函数friendlydate (str) {   var str2num=数量(str);   开关(str2num) {   案例1:   str2num +=笆ァ?   打破;   案例2:   str2num +=昂汀?   打破;   案例3:   str2num +=安煞谩?   打破;   默认值:   str2num +=皌h”;   }   返回str2num;   }//date1的字符串表示大部分情况下都是需要年月日的.date2的如果不是在同年同月,大部分情况下都是需要月日的   date1str=月[date1 [1] 1] + " " + friendlydate (date1 [2]) +”、“+ date1 [0];   如果(date1 [1]===date2[1],及date1 [0]===date2 [0]) {   date2str=friendlydate (date2 [2]);   其他}{   date2str=月[date2 [1] 1] + " " + friendlydate (date2 [2]);   }//如果大于一年,date2加上年份;如果小于一年,而且date1的日期是今年,那么去掉date1的年份。   如果((date2 [0] -date1[0]在1)| | ((date2 [0] -date1[0]===1),和(date2 [1] -date1[1]在0))| | ((date2 [0] -date1[0]===1),和(date2 [1] -date1[1]===0),和date2 [2] -date1[2]在=0)){   date2str +=薄ⅰ? date2 [0];   }else if (date1 [0]==yearnow) {   date1str=date1str.slice (0, 6);   }//把两个日期放在同一个数组里输出(如果是同年同月同日,代码里的date2str无用,所以代码是可以改善的)。   datearr [datearr.length]=date1str;   如果(date1.toString () !==date2.toString ()) {   datearr [datearr.length]=date2str;   }   返回datearr;   }      

特殊情况下,date2str是没用的,有空改善一下。

  

以上这篇浅谈js-FCC算法友好日期范围(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

浅谈js-FCC算法友好的日期范围(详解)