WEB언어/PHP

[PHP] DB값 날짜 변경하기 / 나이 계산

saltdoll 2014. 5. 25. 17:46
반응형

DB에서 사용하던 값의 날짜 변경하기

http://www.php.net/manual/en/datetime.format.php

http://us1.php.net/manual/en/function.date.php   <- date 함수


<?php
$result 
mysql_query("SELECT `datetime` FROM `table`");
$row mysql_fetch_row($result);
$date date_create($row[0]);

echo 
date_format($date'Y-m-d H:i:s');
#output: 2012-03-24 17:45:12

echo date_format($date'd/m/Y H:i:s');
#output: 24/03/2012 17:45:12

echo date_format($date'd/m/y');
#output: 24/03/12

echo date_format($date'g:i A');
#output: 5:45 PM

echo date_format($date'G:ia');
#output: 05:45pm

echo date_format($date'g:ia \o\n l jS F Y');
#output: 5:45pm on Saturday 24th March 2012
?>




나이 계산하기

<?php
  //date in mm/dd/yyyy format; or it can be in other formats as well
  $birthDate = "12/17/1983";
  //explode the date to get month, day and year
  $birthDate = explode("/", $birthDate);
  //get age from date or birthdate
  $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md")
    ? ((date("Y") - $birthDate[2]) - 1)
    : (date("Y") - $birthDate[2]));
  echo "Age is:" . $age;
?>


http://stackoverflow.com/questions/3776682/php-calculate-age


년차별 사용한 휴가일 계산하기

(조건) 년이 지나면, 휴가는 자동차감되며, 년차별 휴가일이 다름.

(계산법) 년차별 휴가 - 남은 휴가 = 사용한 휴가일

/*#### 사용한 휴가일계산 (입사년-월-일,사용가능한 휴가일)  ####*/

//echo getUsedVacationDays("2015-03-02","4");

function getUsedVacationDays($inDT,$haveDays) {


$inDate = $inDT; //"2015-03-02";//NowDAY=InDAY 결과=1

$inDate = explode("-", $inDate)// [0]=yyyy,[1]=mm,[2]=dd

$inYears = (date("md", date("U", mktime(0, 0, 0, $inDate[1], $inDate[2], $inDate[0]))) > date("md") ? ((date("Y") - $inDate[0]) - 1) : (date("Y") - $inDate[0]));

$yearVacationDays = 0;

if ($inYears > 5) { //5년 이상 = 15일

$yearVacationDays = 15;

} elseif ($inYears >= 3) { //3년 이상 = 10일

$yearVacationDays = 10;

} elseif ($inYears >= 1) { //1년 이상 - 3년 미만 = 5일

$yearVacationDays = 5;

}

return ($yearVacationDays - $haveDays);



반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)