서기 연월일에 단군 기원년도 2333년을 더하면 서기를 간단하게 단기로 변환할 수 있습니다.
● 서기를 단군 기원으로 변환하기
<head> <meta charset="UTF-8"> <title>날짜를 단기로 표기로 하고 싶을 때</title> </head> <body> <div> <?php $year = 2016; $month = 10; $day = 1; echo '<p>서기: ' . $year . '/' . $month . '/' . $day . '</p>'; $ret = toOldKoreanDate($year, $month, $day); if ($ret !== false) { echo '<p>단기: ' . $ret . '</p>'; } else { echo '<p>잘못된 년월일입니다</p>'; } // toOldKoreanDate() 함수 // 서기를 단기로 변환합니다. 단, 이 함수는 기원전의 // 날짜를 변환할 수 없습니다. 인수에는 서기의 연, 월, 일을 지정합니다. function toOldKoreanDate($year, $month, $day) { // 잘못된 연월일, 1872년 이전이 지정된 경우 false를 돌려줍니다. if (! checkdate($month, $day, $year) || $year < 1) { return false; } // 서기를 YYYYMMDD 형식의 수치로 변환합니다. $date = (int) sprintf('%04d%02d%02d', $year, $month, $day); // 날짜 수치에서 연호와 단기를 구합니다. if ($date >= 00010101) { // 1년 1월 1일부터 $localYear = $year + 2333; } // ○년 ○월 ○일과 같이 서식을 조정합니다. $wareki = $localYear . '년'; return $wareki . $month . '월' . $day . '일'; } ?> </div> </body> </html>
결과화면
'웹코딩 > PHP' 카테고리의 다른 글
처리를 일시 정지하고 싶을 때 sleep() 함수, usleep() 함수 (0) | 2016.09.30 |
---|---|
배열의 내용을 디버그 표시하고 싶을 때 (0) | 2016.09.26 |
날짜와 시간의 일부를 사용하고 싶을 때 getdate() 함수 (0) | 2016.09.26 |
난수를 생성하고 싶을 때 mt_rand()함수 | mt_srand() 함수 (0) | 2016.09.26 |
독특한 ID를 만들고 싶을때 uniqid() | md5() | mt_rand() (0) | 2016.09.25 |