웹마스터 팁
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 혼자 공부하기 - 8 :: 시간다루기 [18] | 행복한고니 | 2003.04.13 |
PHP 혼자 공부하기 - 9 :: 정규식 함수 [3] | 행복한고니 | 2003.04.14 |
PHP 혼자 공부하기 - 10 :: 정규식 패턴 문법 [3] | 행복한고니 | 2003.04.15 |
PHP 혼자 공부하기 - 11 :: 정규식 실전예제 [9] | 행복한고니 | 2003.04.16 |
[mics'php] 1. PHP란? [8] | TheMics | 2003.04.16 |
[mics'php] 2. PHP 사용 시스템 구축하기 [3] | TheMics | 2003.04.17 |
데이터베이스, PHP를 만나면「알짜 사이트로 부활!」 [1] | .maya | 2003.04.18 |
PHP 혼자 공부하기 - 12 :: SQL문 [6] | 행복한고니 | 2003.04.20 |
노프레임+프레임없이 접근막기+게시물 링크하기 [3] | teslaMINT | 2003.04.20 |
유용한 일반 함수 모음;ㅁ; [11] | TheMics | 2003.04.23 |
군대간 친구 남은날짜 계산하기 [6] | xacdo | 2003.04.27 |
ID3v1태그 읽는 함수입니다. [4] | 김승태 | 2003.04.27 |
if 시리즈 1탄! [15] | 씨파개 | 2003.04.28 |
PHP 확장 함수를 이용한 exif 정보 출력 [1] | NoSoRi | 2003.04.30 |
if 시리즈 2탄.. ㅡㅡ;; [9] | 씨파개 | 2003.05.05 |
mysql_fetch_row n mysql_fetch_array n mysql_fetch_object [4] | sMokaHallo | 2003.05.06 |
이미지 전용 파일업로드시의 확장자 체크시.. [4] | 특급잠수부 | 2003.05.07 |
PHP+MSSQL?(수정판) [11] | 씨파개 | 2003.05.10 |
세션파일 크기/만들어진 시간체크해서 정해진 시간이후엔 파일 지우기?;; (라고 써야되낭? ;;) [6] | 다오케이 | 2003.05.12 |
none 과 null 처리 문제 해결법 [5] | 허현승 | 2003.05.12 |