PHP 버전
4+
/**
 * 간단 구문 설명
 *
 * mktime($hour, $minute, $second, $month, $day, $year): int|false
 * @param int $hour (필수): 해당 날짜의 시작 '시'를 기준으로 한 시각
 * @param int $minute, $second, $month, $day, $year (옵션): 지정된 날짜와 시간을 설정
 */

/* 2025년 12월 25일 9시 30분 5초의 타임스탬프 구하기 */
$timestamp = mktime(9, 30, 5, 12, 25, 2025);
echo $timestamp; // 해당 시점의 유닉스 타임스탬프를 정수로 출력

/* mktime() 함수 활용 예제: 읽기 쉬운 날짜/시간으로 변환 */
echo date('Y-m-d H:i:s', $timestamp); // 해당 시점 기준 날짜와 시간을 'YYYY-MM-DD HH:MM:SS' 형식으로 출력
mktime(
    int $hour,
    ?int $minute = null,
    ?int $second = null,
    ?int $month = null,
    ?int $day = null,
    ?int $year = null
): int|false
// 2025년 12월 31일 23시 59분의 유닉스 타임스탬프
$timestamp = mktime(23, 59, 0, 12, 31, 2025);
echo $timestamp;  // 출력: 1767235140

// 타임스탬프에서 1일을 더한 날짜 계산(미래 날짜)
$new_timestamp = $timestamp + (60 * 60 * 24);  // 1일(24시간)을 초 단위로 더함
echo date('Y-m-d H:i:s', $new_timestamp);  // 출력: 2026-01-01 23:59:00

// 타임스탬프에서 1일을 뺀 날짜 계산(과거 날짜)
$past_timestamp = $timestamp - (60 * 60 * 24);  // 1일(24시간)을 초 단위로 뺌
echo date('Y-m-d H:i:s', $past_timestamp);  // 출력: 2025-12-30 23:59:00
// 결혼 기념일: 2027년 5월 20일 (미래 날짜로 설정)
$anniversary_timestamp = mktime(0, 0, 0, 5, 20, 2027);

// 현재 시점의 유닉스 타임스탬프
$current_timestamp = time();

// 기념일까지 남은 초(seconds) 계산
$seconds_until_anniversary = $anniversary_timestamp - $current_timestamp;

// 초를 일수로 변환 (60초 * 60분 * 24시간 = 86400초)
$days_until_anniversary = floor($seconds_until_anniversary / (60 * 60 * 24));

echo "결혼 기념일까지 남은 일수: " . $days_until_anniversary . "일";
/* 활용 예제: PHP 공부를 시작한 지 며칠이나 지났을까? */

// PHP 공부 시작일: 2026년 2월 10일 (자신이 공부를 시작한 날짜를 넣어보세요!)
$start_date = mktime(0, 0, 0, 2, 10, 2026);

// 현재 시점의 유닉스 타임스탬프
$current_time = time();

// 시작일부터 지금까지 흐른 시간(초) 계산
$elapsed_seconds = $current_time - $start_date;

// 초를 일수로 변환
$elapsed_days = floor($elapsed_seconds / (60 * 60 * 24));

echo "PHP 공부를 시작한 지 벌써 " . $elapsed_days . "일이 지났습니다. ";
echo "이 정도면 이제 PHP와 제법 친해지셨나요? 끝까지 함께 가시죠! 화이팅!";