본문 바로가기
Computer Programming/web Program with PHP

혼합된 형식의 데이터들과 함께 있는 'date' 정보에서 mm-dd 형식으로 출력하는 방법

by 로봇과나무 2023. 9. 6.

많은 웹 애플리케이션에서 날짜는 데이터베이스 내에 다양한 형식의 데이터들과 혼재되어 저장되는 경우가 많습니다. 때로는 어떠한 데이터 들과 함께 있는 것과는 무관하게 날짜정보에서 '월' 및 '일' 구성 요소만 추출해야 할 수도 있습니다. 이번 블로그 게시물에서는 PHP를 사용하여 이를 달성하는 방법을 살펴보겠습니다.

목적

지금 처리하고자 하는 데이터들이 모두 date형식이고, 모두 '월-일'로 출력되기를 원한다면 이전 게시글에서 다루었던 'DATE_FORMAT'이라는 SQL 함수를 사용하는 것이 편리할 수 있습니다. 그렇지만, 처리하려고 하는 데이터들이 서로 다른 경우라면, 데이터베이스로부터 조회된 데이터 중에서 날짜 정보 만을 가공하는 것이 더 효율적일 수 있습니다. 또한, 서로 다른 형태의 만, 날짜 값이 혼합된 형식으로 저장된 데이터베이스가 있다고 가정해 보십시오. 일부 날짜는 'yyyy-mm-dd' 형식이지만 다른 데이터들은 다른 형태(type) 일 수 있습니다. 목표는 날짜의 '월' 및 '일' 구성요소만 추출하여 표시하는 것입니다.

해결책

이 문제를 해결하기 위해 PHP를 사용하여 각 날짜 값을 개별적으로 처리하겠습니다. 이를 수행하는 방법에 대한 단계별 가이드는 다음과 같습니다.

1단계: 데이터베이스에 연결

무엇보다도 먼저 MySQL 데이터베이스에 대한 연결을 설정하십시오. mysqli 함수나 원하는 다른 데이터베이스 연결 방법을 사용할 수 있습니다.

2단계: 날짜 값 검색

데이터베이스 테이블에서 날짜 값을 검색하는 SQL 쿼리를 작성합니다. 예를 들어:

$sql = "SELECT date_column FROM your_table";

3단계: 날짜 처리

'while' 루프 내에서 데이터베이스 결과 세트에서 각 날짜 값을 가져옵니다. 그런 다음 처리를 진행합니다.

while ($row = mysqli_fetch_assoc($result)) {
    // Retrieve the date value from the database
    $dateValue = $row['date_column'];

    // Extract 'month' and 'day' components
    list($year, $month, $day) = explode('-', $dateValue);

    // Output the 'month' and 'day' components in 'mm-dd' format
    $formattedDate = sprintf("%02d-%02d", $month, $day);

    // Output the formatted date (e.g., '03-04')
    echo $formattedDate . "<br>";
}

4단계: 최종 출력

위의 코드는 혼합된 형식의 날짜 값을 처리하여 원래 형식에 관계없이 'mm-dd'로 표시합니다. 년, 월, 일이 분리되고 그것을 다시 sprintf 함수를 통하여 원하는 'mm-dd' 형태로 변경되어 출력됨을 확인할 수 있습니다.

결론

데이터베이스에서 혼합된 형식의 데이터들 중, 날짜데이터로부터 '월' 및 '일' 구성요소를 추출하는 것은 PHP를 사용하여 수행할 수 있습니다. explode 및 sprintf를 사용하면 날짜 형식을 일관되게 지정하고 필요에 따라 표시할 수 있습니다. 이 접근 방식을 사용하면 날짜 데이터가 깔끔하고 균일한 방식으로 표시됩니다.

따라서 다음에 다양한 형식의 날짜로 작업할 때 필요에 따라 날짜를 추출하고 형식을 지정하는 이 편리한 PHP 기술을 기억하세요.