MySQL은 한 시간대에서 다른 시간대로 변환합니다.

Mysqleun Han Sigandaeeseo Daleun Sigandaelo Byeonhwanhabnida



“시간대는 개발자가 처리해야 하는 복잡한 개념 중 하나입니다. 관계형 데이터베이스의 도구와 구현은 허용 가능한 수준으로 만드는 것을 목표로 하지만 문제가 될 수 있으며 때로는 오류가 발생할 수 있습니다.

그러나 이 기사에서는 MySQL을 사용하여 한 시간대에서 다른 시간대로 시간을 변환하는 방법에 대해 설명합니다.”







MySQL Convert_Tz() 함수

MySQL의 convert_tz() 함수를 사용하면 한 시간대에서 다른 시간대로 변환할 수 있습니다. 함수 구문은 다음과 같습니다.



CONVERT_TZ ( dt,from_tz,to_tz )


이 함수는 변환할 날짜/시간 값, 변환하려는 표준 시간대 및 변환하려는 변환 대상을 사용합니다.



MySQL에서는 시간대를 이름이나 오프셋 값으로 지정할 수 있습니다. 그러면 이 함수는 대상 시간대에서 선택한 Datetime 객체를 반환합니다.





실시예 1

다음은 시간대 오프셋을 사용하여 시간 문자열을 EST에서 EAT로 변환하는 방법을 보여주는 예시입니다.

고르다
convert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) ~처럼 시간1;



위의 예제 쿼리는 출력을 반환해야 합니다.

| 시간1 |
| ------------------- |
| 2022년 -08-09 01: 22 : 22 |

실시예 2

언급했듯이 이름으로 대상 시간대를 지정할 수 있습니다. 그러나 이렇게 하려면 MySQL 시간대를 다운로드하여 설치해야 합니다.

아래 명령을 실행하여 시간대를 로드할 수 있습니다.

$ mysql_tzinfo_to_sql / usr / 공유하다 / 구역 정보 | mysql -안에 뿌리 -피 mysql


시간대 파일을 사용하는 경우 다음 명령을 실행합니다.

mysql_tzinfo_to_sql tz_file tz_name | mysql -안에 뿌리 -피 mysql


아래 리소스에서 시간대 파일을 다운로드합니다.

https: // dev.mysql.com / 다운로드 / timezones.html


파일 로드:

mysql -안에 뿌리 -피 mysql < 파일 이름


그런 다음 이름으로 대상 시간대를 지정할 수 있습니다.

mysql > CONVERT_TZ 선택 ( '2022-10-10 14:34:00' , '미국/동부' , '미국/중부' ) 처럼 시각 ;


위 쿼리는 대상 시간대로 변환된 시간을 다음과 같이 반환해야 합니다.

+---------------------+
| 시각 |
+---------------------+
| 2022년 - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 안에 세트 ( 0.00 비서 )

이 짧은 게시물에서 MySQL의 convert_tz 함수를 사용하여 한 시간대에서 다른 시간대로 시간을 변환하는 방법에 대해 논의했습니다.

즐거운 코딩!!