웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
군대간 친구 남은날짜 계산하기
2003.04.27 18:48
제 친구가 군대간지 한달이 다 되어갑니다.
그래서 제가 대신 친구 홈페이지를 관리해주기로 했는데요.
리뉴얼 하다가 남은날짜를 계산해주면 재미있을 것 같아서 간단히 만들어 보았습니다.
1년을 360일로 계산한다던가 하는 식으로 약간씩 오차가 생길 여지는 있지만,
어차피 군대에서 제대하고 하는게 딱 날짜를 맞춰서 나오는 것도 아니니까
며칠 차이나는건 괜찮겠지요 ^^
휴가까지 며칠 남았다 하는 것도 응용해서 만들어보면 재미있을 것 같습니다 ^^
<?
///////////////////여기에 입력하세요////////////////////
//이름
$name = '강주승';
//입대 날짜 (2003년 3월 26일의 경우)
$enter_year = 2003; //2003년
$enter_month = 3; //3월
$enter_day = 26; //26일
//군복무 기간
$army_term = 26; //26개월 복무
////////////////////////////////////////////////////////
$enter_army_second = mktime(0,0,0,$enter_month,$enter_day,$enter_year); //군대간 날
$being_army_second = time() - $enter_army_second; //군대에서 썩은 날 (그때부터 지금까지)
$being_army_day = (int) ( $being_army_second / 3600 / 24 ); //초를 일로 변환
$being_army_month = (int) ( $being_army_day / 30 ); //일을 개월로 변환
$being_army_year = (int) ($being_army_month / 12 ); //개월을 년으로 변환 (1년을 360일로 계산)
//남은 부분을 없애줍니다.
$being_army_day -= $being_army_month * 30;
$being_army_month -= $being_army_year * 12;
$army_term_second = (3600 * 24) * 30 * $army_term; //군대에 있을 기간을 초로 구함
$army_left_second = $army_term_second - $being_army_second; //남은 기간을 구함
$army_left_day = (int) ( $army_left_second / 3600 / 24 ); //초를 일로 변환
$army_left_month = (int) ( $army_left_day / 30 ); //일을 개월로 변환
$army_left_year = (int) ($army_left_month / 12 ); //개월을 년으로 변환 (1년을 360일로 계산)
//남은 부분을 없애줍니다.
$army_left_day -= $army_left_month * 30;
$army_left_month -= $army_left_year * 12;
//출력 부분
echo "$name 님은 $enter_year 년 $enter_month 월 $enter_day 일에 입대하셨습니다.<br/>";
echo "입대한 후로 ";
if($being_army_year > 0) { echo "$being_army_year 년 "; }
if($being_army_month > 0) { echo "$being_army_month 개월 "; }
echo "$being_army_day 일이 지났습니다.<br/>"; //최소 0일은 지났으므로 반드시 표시해줌
if($army_left_second < 0)
{
echo "제대 예정일이 지났습니다.";
}
else
{
echo "제대까지 앞으로 ";
if($army_left_year > 0) { echo "$army_left_year 년 "; }
if($army_left_month > 0) { echo "$army_left_month 개월 ";}
echo "$army_left_day 일이 남았습니다.";
}
?>
그래서 제가 대신 친구 홈페이지를 관리해주기로 했는데요.
리뉴얼 하다가 남은날짜를 계산해주면 재미있을 것 같아서 간단히 만들어 보았습니다.
1년을 360일로 계산한다던가 하는 식으로 약간씩 오차가 생길 여지는 있지만,
어차피 군대에서 제대하고 하는게 딱 날짜를 맞춰서 나오는 것도 아니니까
며칠 차이나는건 괜찮겠지요 ^^
휴가까지 며칠 남았다 하는 것도 응용해서 만들어보면 재미있을 것 같습니다 ^^
<?
///////////////////여기에 입력하세요////////////////////
//이름
$name = '강주승';
//입대 날짜 (2003년 3월 26일의 경우)
$enter_year = 2003; //2003년
$enter_month = 3; //3월
$enter_day = 26; //26일
//군복무 기간
$army_term = 26; //26개월 복무
////////////////////////////////////////////////////////
$enter_army_second = mktime(0,0,0,$enter_month,$enter_day,$enter_year); //군대간 날
$being_army_second = time() - $enter_army_second; //군대에서 썩은 날 (그때부터 지금까지)
$being_army_day = (int) ( $being_army_second / 3600 / 24 ); //초를 일로 변환
$being_army_month = (int) ( $being_army_day / 30 ); //일을 개월로 변환
$being_army_year = (int) ($being_army_month / 12 ); //개월을 년으로 변환 (1년을 360일로 계산)
//남은 부분을 없애줍니다.
$being_army_day -= $being_army_month * 30;
$being_army_month -= $being_army_year * 12;
$army_term_second = (3600 * 24) * 30 * $army_term; //군대에 있을 기간을 초로 구함
$army_left_second = $army_term_second - $being_army_second; //남은 기간을 구함
$army_left_day = (int) ( $army_left_second / 3600 / 24 ); //초를 일로 변환
$army_left_month = (int) ( $army_left_day / 30 ); //일을 개월로 변환
$army_left_year = (int) ($army_left_month / 12 ); //개월을 년으로 변환 (1년을 360일로 계산)
//남은 부분을 없애줍니다.
$army_left_day -= $army_left_month * 30;
$army_left_month -= $army_left_year * 12;
//출력 부분
echo "$name 님은 $enter_year 년 $enter_month 월 $enter_day 일에 입대하셨습니다.<br/>";
echo "입대한 후로 ";
if($being_army_year > 0) { echo "$being_army_year 년 "; }
if($being_army_month > 0) { echo "$being_army_month 개월 "; }
echo "$being_army_day 일이 지났습니다.<br/>"; //최소 0일은 지났으므로 반드시 표시해줌
if($army_left_second < 0)
{
echo "제대 예정일이 지났습니다.";
}
else
{
echo "제대까지 앞으로 ";
if($army_left_year > 0) { echo "$army_left_year 년 "; }
if($army_left_month > 0) { echo "$army_left_month 개월 ";}
echo "$army_left_day 일이 남았습니다.";
}
?>
댓글 6
-
simplish
2003.04.27 20:02
-ㅁ-; 대단해요;; -
김성수
2003.04.28 12:38
친구를 위해 노력하는 모습이 정말 아름답습니다... ^^;; -
TheMics
2003.04.29 12:31
<?
$y = 2004;
$m = 11;
$d = 10;
$today = mktime(0,0,0,date("m"),date("d"),date("Y"));
$exam = mktime(0,0,0,$m,$d,$y);
$left = intval(($exam - $today) / 86400);
echo $left;
?>
아는 형 수능날짜(2005년도 수능)계산을 위해 만든걸로 목표날짜까지 며칠 남았는지 나오는겁니다..날짜단위로만 나와요;ㅁ; -
∠ 요건몇도고? :)
2003.05.23 21:47
믹스// 이미 블래형 홈페이지에서 보았 >_< -
BelldandY
2003.07.14 16:45
-
zero
2003.08.11 15:22
여자시군요..-_-;;
제목 | 글쓴이 | 날짜 |
---|---|---|
PHP로 그래프를 그려보자. [2] | ★Zzony~ | 2002.05.30 |
제로카운터 한 계정에서 여러개 사용하기 [7] | 영혼 | 2002.06.01 |
총페이지의 값을 구하고 출력하기 | 불티나 | 2002.06.05 |
php 와 flash 의 연동을 이용한 제로보드 최근글 추출...(소스) | 주현석 | 2002.06.05 |
[책에서 퍼옴] html과 php의 결합 혹은 분리 [7] | 박민호 | 2002.06.13 |
Flush() [2] | OsE= | 2002.06.16 |
만들어보자~ PortScan For PHP [5] | OsE= | 2002.06.16 |
[mysql] 별로 쓸대는 없지만..그래도.. | 불티나 | 2002.06.18 |
[mysql] 하나 더 추가요. 역시 별로 쓸대 없는거... | 불티나 | 2002.06.18 |
리눅스로 쉘 프로그래밍 할때 [1] | OsE= | 2002.06.19 |
php에서 GD를 이용한 3차원 막대 그래프 입니다. [4] | 용가리 | 2002.06.22 |
위의 리스트뷰 흉내낸 클래스 사용법 입니다.^^; | 용가리 | 2002.06.22 |
위의 리스트뷰 흉내낸 클래스 활용법 입니다.^^; [1] | 용가리 | 2002.06.22 |
리스트뷰를 흉내낸 클래스 입니다.^^;; [2] | 용가리 | 2002.06.22 |
트리뷰를 흉내낸 클래스 사용법 입니다.^^;; | 용가리 | 2002.06.24 |
위 짜가리 클래스 활용 1 (디렉토리 트리뷰) | 용가리 | 2002.06.24 |
위 짜가리 클래스 활용 1 (FTP 디렉토리 트리뷰) | 용가리 | 2002.06.24 |
트리뷰를 흉내낸 클래스 입니다.^^;; | 용가리 | 2002.06.24 |
EMail 주소 검사하기 [6] | ZipShin | 2002.07.06 |
HTML 태그 메일 전송하기 [2] | ZipShin | 2002.07.06 |