반응형
시간대없이 Now ()
added_at
유형 의 열 이 timestamp without time zone
있습니다. 기본값은 현재 날짜-시간이지만 시간대는 없습니다. 이 함수 now()
는 시간대도 반환합니다.
그 문제를 어떻게 해결합니까?
SELECT now()::timestamp
그게 다야. 캐스트는 타임 스탬프를 해당 시간대의 현재 타임 스탬프로 변환합니다. 이것이 Postgres에서 표준 SQL 함수LOCALTIMESTAMP
가 구현되는 방식이기도합니다 .
여러 시간대에서 작업하지 않으면 잘 작동합니다. 에 다른 스위치 timestamptz
에 대한 added_at
. 차이점?
다음과 같이 할 수 있습니다.
SELECT now() AT TIME ZONE current_setting('TimeZone');
SELECT now() AT TIME ZONE 'Europe/Paris';
SELECT now() AT TIME ZONE 'UTC';
"added_at"열에 대해 그것이 어떤 의미인지 확실하지 않습니다. 거의 항상 부동 타임 스탬프가 아닌 절대 타임 스탬프 (시간대가있는 타임 스탬프)를 원합니다.
아래 사항에 대한 답변 수정 :
예, 정당한 이유가없는 한 시간대 (절대 시간)와 함께 타임 스탬프를 사용해야합니다.
클라이언트 시간대는 위와 같이
SHOW TimeZone
또는current_setting(...)
로 지정됩니다 .
매뉴얼을 훑어 보는 데 시간을 할애하십시오-이 모든 것을 아주 잘 다룹니다.
CURRENT_TIME 및 CURRENT_TIMESTAMP는 시간대와 함께 값을 제공합니다. LOCALTIME 및 LOCALTIMESTAMP는 시간대없이 값을 제공합니다.
참조 URL : https://stackoverflow.com/questions/20812091/now-without-timezone
반응형
'Development Tip' 카테고리의 다른 글
rbind 오류 : "이름이 이전 이름과 일치하지 않습니다" (0) | 2020.12.29 |
---|---|
Java 기본 유형을 인수로 사용하여 리플렉션하여 메서드를 호출하는 방법 (0) | 2020.12.29 |
Android Studio에서 코드 줄을 (위 / 아래) 이동하는 방법은 무엇입니까? (0) | 2020.12.29 |
아무것도하지 않는 python pass 문에 해당하는 javascript가 있습니까? (0) | 2020.12.29 |
오류 : EACCES 0.0.0.0:80 OSx Node.js 듣기 (0) | 2020.12.29 |