js-FCC 알고리즘 Friendly Date Ranges(상세 설명)

2512 단어 fcc 알고리즘
날짜 구간 을 더욱 우호 적 으로!
예 를 들 어 YYYY-MM-DD 를 더 읽 기 쉬 운 형식 으로 변환 합 니 다.
읽 기 쉬 운 형식 은 월 이름 으로 월 숫자 를 대체 하고 숫자 대신 서수 어 로 일(1st 대체 1)을 표시 해 야 한다.
추측 할 수 있 는 정 보 를 표시 하지 마 세 요.한 날짜 구간 에서 종료 날짜 가 시작 날짜 와 1 년 차이 가 나 면 종료 날 짜 는 연 도 를 쓰 지 않 아 도 됩 니 다.월 시작 과 종료 날짜 가 같은 달 이면 종료 날 짜 는 월 에 쓰 지 않 아 도 된다.
또한 시작 날짜 연도 가 현재 연도 이 고 종료 날짜 와 시작 날짜 가 1 년 보다 적 으 면 시작 날짜 의 연도 도 쓰 지 않 아 도 된다.
내 코드:

function makeFriendlyDates(arr) {
 //       
 var yearnow=(new Date()).getFullYear();
 //             ,  Date     
 var date1=arr[0].split("-");
 var date2=arr[1].split("-");
 //       
 var months=["January","February","March","April","May","June","July","August","September","October","November","December"];
 //            
 var date1str="";
 var date2str="";
 var datearr=[];
 //         
 function friendlydate(str){
  var str2num=Number(str);
  switch(str2num){
   case 1:
    str2num+="st";
    break;
   case 2:
    str2num+="nd";
    break;
   case 3:
    str2num+="rd";
    break;
   default:
    str2num+="th";
  }
  return str2num;
 }
 //date1                    。date2          ,             
 date1str=months[date1[1]-1]+" "+friendlydate(date1[2])+", "+date1[0];
 if(date1[1]===date2[1]&&date1[0]===date2[0]){
  date2str=friendlydate(date2[2]);
 }else{
  date2str=months[date2[1]-1]+" "+friendlydate(date2[2]);
 }
 //      ,date2    ;      ,  date1      ,    date1   。
 if((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;
 if(date1.toString()!==date2.toString()){
  datearr[datearr.length]=date2str;
 }
 return datearr;
}
특별한 상황 에서 date2str 는 소 용이 없 으 니 시간 이 있 으 면 개선 하 세 요.
이상 의 이 간단 한 설명 은 js-FCC 알고리즘 Friendly Date Ranges(상세 한 설명)는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 많은 사랑 을 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기