본문 바로가기
IT tech Coding/php

[php] 오늘 날짜 또는 특정일 기준 5일전 날짜가 설정한 일자의 범위에 있는지 확인하는 소스코드

by Coding Life 2022. 12. 21.

눈이 많이 왔어요. 온통 세상이 하얀 겨울을 만끽합니다.

php로 회사 사이트를 만들어서 운영중인데, 납기일 기준으로 여러 공정들이 다 이뤄졌는지 놓치는 경우가 많아서 하나 걸러주는 함수를 만들어 활용하고자 해서 코딩해봤습니다.

납기일 기준 5일전까지 레이져가공이 완료되었는지를 알려주는 시스템이 있다면,

혹시 생산일정에서 그 자료를 5일전에 사전에 알아차린다면 아마도 납기일에 도래해서 허겁지겁 하는 일은 없어질 것 같아서 아이디어를 냈습니다.

1) PHP로 특정기간에 해당되는지 체크하는 함수가 필요합니다.

여기저기 좋은 코드가 있어서 차용해서 활용했습니다.

function check_in_range($start_date, $end_date, $user_date)
{  
  $start_ts = strtotime($start_date);
  $end_ts = strtotime($end_date);
  $user_ts = strtotime($user_date);
  
  return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
}

처음일자와 마지막일자의 범위가  $user_date에 해당되면 1을 리턴하고, 아니면 0을 리턴한다고 생각하면 됩니다.

실제 사용한 코드의 완성본은 아래와 같습니다.

function check_in_range($start_date, $end_date, $user_date)
{  
  $start_ts = strtotime($start_date);
  $end_ts = strtotime($end_date);
  $user_ts = strtotime($user_date);
  
  return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
}	  

$start_date = '2022-12-15';

$end_date = '2022-12-21';

$user_date = '2022-12-21';

$today = date('Y-m-d');

$beforefiveday = date("Y-m-d", strtotime("-5 day", strtotime($today)));     

print check_in_range($start_date, $end_date, $user_date);
print '오늘 날짜 ' . $today;
print '오늘기준 5일전 날짜 ' . $beforefiveday;

이렇게 하면 실제 웹사이트에 이렇게 화면에 나오는데, 이를 활용해서 알림을 주는 기능을 만들예정입니다.

위의 코드면 충분한 것 같아요~

이를 응용하면 여러가지 상황을 회사 상황에 맞춰 일정등을 계산하는 루틴이 가능하겠네요^^

오늘도 즐거운 코딩으로 새로운 재미를 느껴보세요

반응형