날짜와 시간함수
날짜와 시간함수를 사용해서 날짜를 여러가지 형태로 변형하여 사용할 수 있습니다.
많이 사용되는 함수를 예로 들어 알아보겠습니다.
checkdate() 함수
월, 일, 연도 정보를 받아서 해당하는 날짜가 존재하는지 확인해주는 함수
사용방법
checkdate(int $month, int $day, int $year): bool
사용예시
<?php
echo 'test1 : '. checkdate(10, 23, 2022);
echo 'test2 : '. checkdate(10, 35, 2022);
?>
// 결과
test1 : true
test2 : false
date() 함수
날짜와 시간정보를 요청하는 형태에 맞게 결과를 반환하는 함수
사용방법
date(string $format, ?int $timestamp = null): string
사용예시
<?php
echo 'current_date : '. date("Y-m-d H:i:s");
?>
// 결과
current_date : 2022-10-23 12:12:12
getdate() 함수
타임스탬프 값을 인자로 전달받아 이값이 가리키는 날짜 및 시간에 대한 정보를 연관 배열의 형태로 반환한다
사용방법
getdate(?int $timestamp = null): array
사용예시
<?php
$today = getdate();
print_r($today);
?>
// 결과
Array
(
[seconds] => 14
[minutes] => 15
[hours] => 7
[mday] => 23
[wday] => 0
[mon] => 10
[year] => 2022
[yday] => 295
[weekday] => Sunday
[month] => October
[0] => 1666509314
)
microtime() 함수
현재 Unix 타임스탬프를 마이크로초로 반환합니다.
함수의 처음과 끝의 시간을 마이크로 초로 기록한 후 이 시간의 값을 빼주면 함수의 실행시간을 마이크로 단위로 알아 올 수 있습니다.
사용방법
microtime(bool $as_float = false): string|float
사용예시
<?php
$mtime = microtime(true);
echo 'microtime: ' . $mtime;
?>
// 결과
microtime: 1667104336.4455
mktime() 함수
날짜에 대한 Unix 타임스탬프 가져 오기
주어진 인수에 해당하는 Unix 타임스탬프를 반환합니다.
사용방법
mktime(
int $hour,
?int $minute = null,
?int $second = null,
?int $month = null,
?int $day = null,
?int $year = null
): int|false
사용예시
<?php
$datetime = date("Y-m-d H:i:s", mktime(0, 0, 0, 10, 30, 2022));
echo 'datetime: '.$datetime;
?>
// 결과
datetime: 2022-10-30 00:00:00
time() 함수
현재 Unix 타임스탬프를 반환 합니다.
사용방법
time(): int
사용예시
<?php
echo 'current_time: '.time();
?>
// 결과
current_time: 1667104892
strtotime() 함수
모든 영어 텍스트 날짜/시간 설명에 대해 Unix 타임스탬프로 구문 분석
사용방법
strtotime(string $datetime, ?int $baseTimestamp = null): int|false
사용예시
<?php
echo strtotime("now") . ' -> ' . date('Y-m-d H:i:s', strtotime("now")), "\n";
echo strtotime("+1 day") . ' -> ' . date('Y-m-d H:i:s', strtotime("+1 day")), "\n";
echo strtotime("+1 week") . ' -> ' . date('Y-m-d H:i:s', strtotime("+1 week")), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds") . ' -> ' . date('Y-m-d H:i:s', strtotime("+1 week 2 days 4 hours 2 seconds")), "\n";
echo strtotime("next Monday") . ' -> ' . date('Y-m-d H:i:s', strtotime("next Monday")), "\n";
echo strtotime("last Monday") . ' -> ' . date('Y-m-d H:i:s', strtotime("last Monday")), "\n";
?>
// 결과
1667105480 -> 2022-10-30 04:51:20
1667191880 -> 2022-10-31 04:51:20
1667710280 -> 2022-11-06 04:51:20
1667897482 -> 2022-11-08 08:51:22
1667174400 -> 2022-10-31 00:00:00
1666569600 -> 2022-10-24 00:00:00
날짜와 시간관련 함수는 실무에서 많이 쓰이기 때문에 알아두면 유용하게 사용할 수 있습니다.
'개발 > PHP' 카테고리의 다른 글
[PHP] in_array 사용방법 (1) | 2023.02.04 |
---|---|
[PHP] foreach 사용하기 (0) | 2022.11.27 |
[php] 문자를 아스키코드로 변환해보자 ord(), chr() 함수 (0) | 2022.10.23 |
[php] $_REQUEST 글로벌 변수 와 variables_order (0) | 2022.10.23 |