날짜 및 시간
GameMaker는 날짜와 시간 관련 함수와 변수가 많이 있습니다. 이 함수들은 기본적으로 시스템에 설정된 로컬 시간을 반환하지만, 다음 함수를 사용하여 로컬 시간과 UTC 시간 간에 전환할 수 있습니다.
date_set_timezone
date_get_timezone
날짜 및 시간 구성 요소
특정 날짜 및 시간 구성 요소를 얻기 위해 사용할 수 있는 내장 변수는 다음과 같습니다:
변수 이름 | 설명 |
---|---|
current_time |
현재 시간 |
current_second |
현재 초 |
current_minute |
현재 분 |
current_hour |
현재 시 |
current_day |
현재 일 |
current_weekday |
현재 요일 |
current_month |
현재 월 |
current_year |
현재 년 |
날짜 및 시간 관련 함수
특정 날짜 및 시간 구성 요소를 얻거나 새로운 날짜 및 시간을 생성하거나 두 날짜 간의 일/시간 차이를 계산하기 위해 사용할 수 있는 함수는 다음과 같습니다:
함수 이름 | 설명 |
---|---|
date_create_datetime |
새로운 날짜 및 시간 생성 |
date_current_datetime |
현재 날짜 및 시간 반환 |
date_compare_date |
두 날짜 비교 |
date_compare_time |
두 시간 비교 |
date_valid_date |
유효한 날짜인지 확인 |
date_date_of |
날짜의 날짜 부분 반환 |
date_time_of |
날짜의 시간 부분 반환 |
date_is_today |
오늘인지 확인 |
date_leap_year |
윤년인지 확인 |
date_date_string |
날짜를 문자열로 변환 |
date_datetime_string |
날짜 및 시간을 문자열로 변환 |
date_time_string |
시간을 문자열로 변환 |
date_second_span |
초 단위 차이 계산 |
date_minute_span |
분 단위 차이 계산 |
date_hour_span |
시간 단위 차이 계산 |
date_day_span |
일 단위 차이 계산 |
date_week_span |
주 단위 차이 계산 |
date_month_span |
월 단위 차이 계산 |
date_year_span |
년 단위 차이 계산 |
date_days_in_month |
특정 월의 일 수 반환 |
date_days_in_year |
특정 년의 일 수 반환 |
date_get_second |
초 반환 |
date_get_minute |
분 반환 |
date_get_hour |
시 반환 |
date_get_day |
일 반환 |
date_get_weekday |
요일 반환 |
date_get_week |
주 반환 |
date_get_month |
월 반환 |
date_get_year |
년 반환 |
date_get_second_of_year |
년의 초 반환 |
date_get_minute_of_year |
년의 분 반환 |
date_get_hour_of_year |
년의 시 반환 |
date_get_day_of_year |
년의 일 반환 |
date_inc_second |
초 증가 |
date_inc_minute |
분 증가 |
date_inc_hour |
시 증가 |
date_inc_day |
일 증가 |
date_inc_week |
주 증가 |
date_inc_month |
월 증가 |
date_inc_year |
년 증가 |
고급 시간 함수
게임 실행 시 더 높은 정밀도와 제어를 제공하는 두 가지 특별한 시간 함수가 있습니다:
get_timer
delta_time
활용 예제
다음은 날짜 및 시간 관련 기능을 활용하는 몇 가지 예제입니다:
// 현재 날짜 및 시간 출력
var currentDateTime = date_current_datetime();
show_message("현재 날짜 및 시간: " + date_datetime_string(currentDateTime));
// 특정 날짜 생성
var myDate = date_create_datetime(2023, 10, 31, 0, 0, 0);
show_message("내가 생성한 날짜: " + date_datetime_string(myDate));
// 두 날짜 비교
var date1 = date_create_datetime(2023, 1, 1, 0, 0, 0);
var date2 = date_create_datetime(2023, 12, 31, 0, 0, 0);
var comparison = date_compare_date(date1, date2);
if (comparison < 0) {
show_message("date1이 date2보다 이전입니다.");
} else if (comparison > 0) {
show_message("date1이 date2보다 이후입니다.");
} else {
show_message("두 날짜가 같습니다.");
}
// 오늘 날짜 확인
if (date_is_today(myDate)) {
show_message("오늘입니다!");
} else {
show_message("오늘이 아닙니다.");
}
// 윤년 확인
if (date_leap_year(2024)) {
show_message("2024년은 윤년입니다.");
} else {
show_message("2024년은 윤년이 아닙니다.");
}