Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP date_parse() 함수 완벽 가이드 – 날짜 문자열을 연관 배열로 파싱하기

PHP의 date_parse() 함수는 지정된 날짜 문자열을 분석하여 연·월·일·시·분·초 등 날짜와 관련된 상세 정보를 연관 배열(associative array) 형태로 반환하는 함수입니다. 날짜 형식의 유효성 검사나 날짜 데이터를 세부 요소로 분해해야 할 때 유용하게 사용됩니다.

구문 (Syntax)

date_parse(date)

매개변수 (Parameters)

  • date − 분석하고자 하는 날짜를 나타내는 문자열을 지정합니다. 예: "2017-11-08 11:10:40"

반환값 (Return)

date_parse() 함수는 주어진 날짜에 대한 상세 정보를 담고 있는 연관 배열을 반환합니다. 배열에는 다음과 같은 키가 포함됩니다.

  • year, month, day − 년, 월, 일 정보

  • hour, minute, second, fraction − 시, 분, 초 및 소수점 이하 시간 정보

  • warning_count, warnings − 경고의 개수와 경고 내용

  • error_count, errors − 오류의 개수와 오류 내용

  • is_localtime − 현지 시간 여부

예제 1

다음은 date_parse() 함수의 기본적인 사용 예제입니다.

<?php
    print_r(date_parse("2017-11-08 11:10:40.5"));
?>

출력 결과

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

Array
(
    [year] => 2017
    [month] => 11
    [day] => 8
    [hour] => 11
    [minute] => 10
    [second] => 40
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array
    (
    )

    [error_count] => 0
    [errors] => Array
    (
    )

    [is_localtime] =>
)

출력 결과에서 볼 수 있듯이, 날짜 문자열이 각 구성 요소별로 분리되어 연관 배열에 저장되며, 경고(warnings)와 오류(errors) 항목도 함께 확인할 수 있습니다.

예제 2 − 상대적 날짜 표현 사용하기

date_parse() 함수는 "+2 week", "+2 hour"처럼 상대적인 날짜 표현도 함께 처리할 수 있습니다. 이 경우 결과 배열에 relative 키가 추가됩니다.

<?php
    print_r(date_parse("2017-10-10 11:00:00.5 +2 week +2 hour"));
?>

출력 결과

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

Array
(
    [year] => 2017
    [month] => 10
    [day] => 10
    [hour] => 11
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array
    (
    )
    [error_count] => 0
    [errors] => Array
    (
    )
    [is_localtime] =>
    [relative] => Array
    (
        [year] => 0
        [month] => 0
        [day] => 14
        [hour] => 2
        [minute] => 0
        [second] => 0
    )
)

상대적 표현인 "+2 week"는 day 값으로 14로, "+2 hour"는 hour 값으로 2로 변환되어 relative 배열에 저장된 것을 확인할 수 있습니다.

정리

date_parse() 함수는 날짜 문자열을 체계적으로 분석하여 각 구성 요소를 배열로 반환하기 때문에, 입력된 날짜의 유효성 검사(errors, warnings 확인)나 날짜 데이터의 세부 정보 추출에 매우 유용합니다. 특히 사용자가 입력한 날짜 형식이 올바른지 판단해야 하는 경우 error_count와 warning_count 값을 활용하면 손쉽게 검증 로직을 구현할 수 있습니다.