[PHP - MYSQL] 한국 시각 기준으로 DateTime 객체를 불러와서 날짜와 시간을 넣어주는 방법

2025. 1. 18. 22:02Database

서울 시각을 기준으로 날짜를 설정하려면 DateTime 객체에서 날짜와 시간을 가져오도록 코드를 만들수 있다.

PHP의 DateTime 클래스와 DateTimeZone 클래스를 사용하면, 특정 시간대에 맞춘 날짜와 시간을 정확히 가져올 수 있습니다.

$datetime = new DateTime("now", new DateTimeZone("Asia/Seoul"));
$current_date = $datetime->format("Y-m-d"); // 서울 시간 기준의 날짜
$tm = $datetime->format("H:i:s"); // 서울 시간 기준의 시간
$sql = "INSERT INTO `a`(`site`, `product`, `url`, `title`, `content`, `dt`, `yy`, `mm`, `dd`, img, dt, tm)
VALUES (
'".$s."',
'".$input_value."',
'" . $conn->real_escape_string($search_result['link']) . "',
'" . $conn->real_escape_string($search_result['title']) . "',
'" . $conn->real_escape_string(trim(substr($search_result['snippet'], 15), '.')) . "',
'$dt',
'$year',
'$month',
'$day',
'".$conn->real_escape_string($image_url)."' ,
'$current_date',
'$tm'
);";
new DateTimeZone("Asia/Seoul"):
  • 서울 시간대를 설정합니다.
format("Y-m-d"):
  • 날짜를 YYYY-MM-DD 형식으로 가져옵니다.
format("H:i:s"):
  • 시간을 HH:MM:SS 형식으로 가져옵니다.

이렇게 하면 $current_date는 서울 시간 기준의 날짜, $tm은 서울 시간 기준의 시간을 정확히 반영하게 됩니다.

예시 출력

서울 시간이 2025년 1월 6일 오전 10시 15분이라면:

php

$current_date = "2025-01-06"; $tm = "10:15:00";

이 코드는 서버의 시간대와 무관하게 항상 서울 시간을 기준으로 날짜와 시간을 설정합니다.