Unix Epoch에서 PostgreSQL의 날짜로 변환

Bilal Shahid 2024년2월15일
  1. 유닉스Epoch란?
  2. Unix Epoch에서 PostgreSQL의 날짜로 변환
  3. 현재 시간부터 ‘Epoch’
  4. Epoch에서 날짜 및 시간 가져오기
  5. to_timestamp() 함수
  6. 시간대가 있는 타임스탬프 접근 방식
  7. 결론
Unix Epoch에서 PostgreSQL의 날짜로 변환

PostgreSQL은 사용자를 위한 다양한 날짜 및 시간 기능을 제공합니다. 이러한 함수와 연산자는 사용자의 동적 계산을 돕기 위해 특별히 설계되었습니다.

날짜 및 시간 기능은 소프트웨어 및 응용 프로그램에서 가장 많이 사용되는 기능 중 하나입니다.

예를 들어, 사용자의 간단한 나이 계산에는 필요한 모든 계산을 수행하기 위해 백엔드에 날짜 및 시간 함수가 필요합니다.

현재 날짜와 사용자의 생년월일을 비교하여 나이를 계산합니다. 다른 여러 응용 프로그램에서는 날짜 및 시간 함수와 연산자를 사용해야 합니다.

이 기사는 Unix epoch 날짜를 계산하는 데 도움이 되도록 특별히 선별되었습니다.

유닉스Epoch란?

기사를 계속 진행하기 전에 Unix Epoch가 무엇인지 명확히 할 필요가 있습니다. Unix 시간은 특정 시점을 설명하는 데 사용되는 컴퓨팅 시스템입니다.

Unix Epoch 이후 경과한 초 수입니다. 그러나 이 시간 체계는 윤초를 계산하지 않습니다.

Unix Epoch 이후 경과된 윤초를 제외한 초 수를 반환합니다.

유닉스 Epoch란 무엇입니까? Unix Epoch는 고정 날짜 및 시간: 1970년 1월 1일 00:00:00 UTC입니다.

엔지니어들은 Unix Epoch를 임의로 설정하여 시간의 시작에 대한 균일한 날짜를 조정하고 설정했습니다. 즉, Unix Epoch 날짜에서 경과된 초 수는 전 세계적으로 특정 시간 동안 동일하게 유지되므로 전 세계 날짜와 시간을 조정하는 데 도움이 됩니다.

Unix Epoch에서 PostgreSQL의 날짜로 변환

PostgreSQL에서 현재 날짜를 얻는 방법에는 여러 가지가 있습니다. Unix Epoch를 현재 날짜로 변환하는 데 사용되는 SQL 문 및 함수로 이동하기 전에 다음은 필요한 몇 가지 SQL 문을 자세히 설명합니다.

현재 시간을 얻는 방법

Unix Epoch에서 날짜를 가져오려면 PostgreSQL에서 현재 시간을 가져오는 방법을 이해하는 것이 중요합니다. 그런 다음 현재 시간을 사용하여 날짜를 계산할 수 있습니다.

다음 문은 PostgreSQL에서 현재 시간을 가져오는 데 사용됩니다.

SELECT now();

now() 함수는 PostgreSQL에서 현재 시간을 가져오는 데 사용됩니다. 나중에 날짜를 계산하는 데 사용되는 타임스탬프를 반환합니다.

다음 쿼리의 결과는 다음과 같습니다.

현재 타임스탬프

현재 시간부터 ‘Epoch’

Unix Epoch는 위 섹션에서 자세히 설명했습니다. 다음 명령문을 사용하여 Unix Epoch에서 경과된 시간(초)을 계산할 수 있습니다.

SELECT EXTRACT(epoch from now());

Unix Epoch 이후 경과된 초 수를 얻기 위해 PostgreSQL에서 SQL 쿼리를 실행할 수 있습니다. now() 함수는 SQL 문에서 epoch와 함께 현재 시간을 가져오는 데 사용되었습니다.

다음 쿼리의 결과는 다음과 같습니다.

경과 시간(초)

Epoch에서 날짜 및 시간 가져오기

EXTRACT SQL 문은 epochnow()와 함께 Unix Epoch에서 경과된 시간(초)을 반환합니다. 그러나 Epoch에서 날짜와 시간을 얻으려면 어떻게 해야 합니까?

두 가지 방법을 사용하여 Epoch에서 날짜와 시간을 가져올 수 있습니다.

  1. to_timestamp() 함수
  2. 시간대 접근 방식의 타임스탬프

이 두 절차는 모두 아래에 설명되어 있습니다.

to_timestamp() 함수

to_timestamp() 함수는 epochnow()와 함께 사용하여 Unix Epoch에서 날짜 및 시간을 가져올 수 있습니다.

to_timestamp() 함수는 배정밀도 인수를 사용합니다. Unix Epoch를 시간대가 있는 타임스탬프로 변환합니다.

to_timestamp() 함수를 사용하여 날짜 및 시간 가져오기

PostgreSQL에서 다음 명령문을 실행하여 Epoch에서 날짜와 시간을 가져올 수 있습니다.

SELECT to_timestamp(extract(epoch from now()));

쿼리 결과는 다음과 같습니다.

타임스탬프

to_timestamp() 함수를 사용하여 Epoch에서 날짜 가져오기

Epoch에서만 날짜를 가져오는 데 관심이 있는 경우 약간 다른 접근 방식으로 to_timestamp() 함수를 사용할 수 있습니다. 다음 명령문은 to_timestamp() 함수를 사용하여 에포크에서 날짜를 가져오는 방법을 설명합니다.

SELECT to_timestamp(extract(epoch from now()))::date;

이 쿼리는 Unix epoch의 날짜만 반환합니다. 쿼리 결과는 아래와 같습니다.

날짜

시간대가 있는 타임스탬프 접근 방식

Unix Epoch를 날짜 또는 시간으로 변환하는 데 사용할 수 있는 두 번째 접근 방식은 "timestamp with time zone" 접근 방식을 사용하는 것입니다. to_timestamp() 기능과 동일한 기능을 수행합니다.

이 접근 방식은 to_timestamp() 함수의 대안입니다. 한 가지 접근 방식이 작동하지 않으면 다른 접근 방식을 따라 작업을 완료할 수 있습니다.

타임스탬프 방식을 사용하여 날짜 및 시간 가져오기

다음 명령문을 실행하여 Unix Epoch에서 날짜와 시간을 가져올 수 있습니다.

SELECT timestamp with time zone 'epoch' + extract(epoch from now()) * interval '1 second';

이 접근 방식은 epoch에 초를 추가합니다. Unix Epoch에서 날짜와 시간을 반환합니다.

쿼리 결과는 다음과 같습니다.

타임스탬프 접근법

타임스탬프 접근 방식을 사용하여 Epoch에서 날짜 가져오기

Epoch에서만 날짜를 가져오는 데 관심이 있는 경우 타임스탬프 접근 방식을 약간 다르게 변경하여 필요한 출력을 받을 수 있습니다.

다음 문은 작업을 수행합니다.

SELECT (timestamp with time zone 'epoch' + extract(epoch from now()) * interval '1 second') :: date;

이 문은 Epoch의 날짜만 반환합니다. 따라서 날짜와 함께 시간을 표시하지 않으려는 경우 이 문을 사용할 수 있습니다.

또는 위 섹션에서 언급한 것처럼 to_timestamp() 함수와 유사한 명령문을 사용할 수 있습니다.

쿼리 결과는 다음과 같습니다.

타임스탬프 접근법 - 날짜

결론

PostgreSQL의 수많은 날짜 및 시간 함수는 사용자가 다양한 계산을 할 수 있도록 도와줍니다.

to_timestamp() 함수와 "timestamp with time zone" 접근 방식은 이 기사에서 에포크에서 날짜와 시간을 가져오는 데 사용되었습니다. 사용자가 따라할 수 있도록 모든 단계가 자세히 설명되어 있습니다.

작가: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

관련 문장 - PostgreSQL Timestamp