눈송이 CONVERT_TIMEZONE 버그?

0

질문

에 눈송이,로 변환할 때 일부 지역 날짜를 UTC 한 다음 다시 현지 시간대를 사용하여 CONVERT_TIMEZONE 함수,최종 결과입니다 한 시간 뒤로 이동합니다. 예를 들어:

ALTER SESSION SET TIMEZONE = 'Canada/Eastern';
select
cast('1949-04-24' as timestamp) as date_local -- because TIMEZONE = 'Canada/Eastern'
, convert_timezone('Canada/Eastern', 'UTC', '1949-04-24') as date_utc
, convert_timezone('UTC', 'Canada/Eastern', convert_timezone('Canada/Eastern', 'UTC', '1949-04-24')) as date_local1

결과는:

DATE_LOCAL DATE_UTC DATE_LOCAL1
1949-04-24 00:00:00.0 1949-04-24 05:00:00.0 1949-04-24 01:00:00.0

나는 모두 기대 DATE_LOCAL 및 DATE_LOCAL1 동일하게,그러나 DATE_LOCAL1 은 한 시간 떨어져. 정상입니까? 나는 뭔가가 있거나 버그에서 CONVERT_TIMEZONE 기능입니까?

snowflake-cloud-data-platform
2021-11-23 21:46:09
1

최고의 응답

3

이것이 버그가 아닙니다. 이에 대해 일광 절약 시간제(DST). 1949 년,DST 시작,일요일에는 24 일,00:00 까지입니다. 그래서 때로 변환하 UTC 가 1949-04-24 05:00:00.0. 변환할 때,그것을 다시 되 01:00 때문에 DST 기 때문에,그것은 시간에는 시계가 앞으로 한 시간이다.

2021-11-23 22:17:52

당신이 바로,당신을 감사하십시오! 설명했듯이 여기: torontooldnews.wordpress.com/2018/08/14/daylight-savings-time "1947 년,1948,1949 년,어떤 이유로,도시를 설정하기로 결정은 그 시계가 앞으로 그리고 다시 밤 2 시에"항목: timeanddate.com/time/change/canada/toronto?year=1949 하지만 안되는 변환하여 UTC 를 제공 1949-04-24 04:00:00 이 경우에는?
Leonard

내 이해에 따르면,00:00(전 DST 시작했),TZ 오프셋은 UTC-5. 그래서 변환을 제공합 05:00. 변환할 때,그것을 다시 시스템을 사용하 UTC-4 으로 우리가 알고 있는 DST 에 시작하는 캐나다/동부.
Gokhan Atil

감사에 대한 설명,@Gokhan 골동품 쇼! 그것은 지금이다. 1949-04-24 00:00:00 유효하지 않은 시간(이 존재하지 않)되기 때문에 1949-04-24 01:00:00 까지입니다. 동일하게 적용하 사이의 모든 시간 이 두 값이 있습니다. 따라서,CONVERT_TIMEZONE 함수에 변환습니다.
Leonard

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................