2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

PHP에서 학년도 처리하는 방법

무슨 말인가 하면...학교나 회계처리 등을 보면 1년을 1월1일부터 12월 31일까지가 아닌 특정 기간을 정해서 년도계산을 하기도 한다.
일본의 학교는 보통 4월 1일부터 신학기가 시작된다.
즉, 2017년을 기준으로 보면 2017년 1월 1일은 2016학년도가 되고, 4027년 4월 1일이 되야 2017학년도가 된다.
요걸 어찌 처리할까 고민하다가 어찌 해결했다..방법은 기준점을 두고 오늘 날짜를 불러와서 diff로 날짜를 빼버리면 값이 떨어지는데 그 값이 마이너스인 경우에는 아직 학년도가 시작되지 않았다는 것이므로 (기준이 4월 1일이므로 1월1일부터 3월31일까지는 마이너스가 된다.) 현재 년도에서 -1을 한 값을 학년도로 사용한다. 4월 1일인 경우에는 차이가 0이 되므로 그 이후 값은 그대로 년도를 학년도로 사용해도 문제가 없다...예전에 유메쵸 만들 때 이 이슈가 있었지...그걸 내가 실제 코딩을 하게 될 줄은..ㅎㅎ
> calYear.php
      $startDay = '04-01';
      $todayDate = new DateTime();
      $theDate = new DateTime($todayDate->format('Y-m-d'));
      $diff = (new DateTime($theDate->format('Y') . '-' . $startDay))->diff($theDate);
      if ( $diff->invert ) // 引き算の結果がマイナスだった場合にはまだ学年度が更新されてない1-3月ということ
      {
          $curYear = intval($theDate->format('Y')) - 1;
      } else { // そのまま
          $curYear = intval($theDate->format('Y'));
      }

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법