2017-02-23 1 views
0

Amazon AWS에서 SQL Server 2016을 사용하고 있습니다. 나의 이메일은 아마존에서 나의 푸줏간 주자에게서 보내질 때 틀린 시간에 보내지고있다. 이 버그를 로컬에서 다시 만들려고하면 시간이 정확합니다. 다음은 내가 at time zone을 사용하는 예입니다. u.timezone 사용자의 시간대와 u이다SQL Server 2016의 "at time zone"기능이 예상대로 작동하지 않습니다.

getDate() at time zone 'utc' at time zone u.timezone

는 앨리어싱 users 테이블을 말한다. 출력되는

시간은 UTC 시간에, 그래서 나는이 하나, 죄송합니다 남자와 여자들이 시작하는 곳 난 정말 모르겠다 (그들은 MomentJS으로 포맷)

7:36pm 대신 2:36pm를 참조하십시오.

내 서버가 이메일 공장 (오프셋 올바른 시간대와) 정확한 시간을 보내는

UPDATE. 서버가 전자 메일을 만들면 MomentJS를 사용하여 시간이 지정됩니다. barebones moment() 함수는 시간대 오프셋 (-5 : 00)으로 시간이 걸리고 로컬 시스템의 현지 시간으로 조정됩니다. 내 컴퓨터의 현지 시간은 EST이지만 아마존 (이메일 작성 장소)은 아닙니다. 따라서 moment.parseZone()을 사용해야합니다. MomentJS docs에서

:

If your date format has a fixed timezone offset, use moment.parseZone: 
moment.parseZone("2013-01-01T00:00:00-13:00"); 
This results in a date with a fixed offset: 
"2013-01-01T00:00:00-13:00" 

는 우리 dev에 환경으로 푸시 될 때까지 나는이 변화를 볼 수 없기 때문에, 나는이 그것을 고정 알고 할 수 없습니다,하지만 난이 생각 문제.

+0

처음 부분에 ['GETUTCDATE()'] (https://msdn.microsoft.com/en-us/library/ms178635.aspx)를 사용할 수없는 이유가 있습니까? 잘못된 시간은 얼마나 부정확합니까? 어떤 시간대에 있니? –

+0

죄송합니다. 게시물에 ouput을 포함 시키려했으나 편집하겠습니다. 내가 그것을 사용할 수없는 이유가 없습니다. 나는 이것을 시험해 본다. – kaleoh

+0

아, 서버 인스턴스가 UTC로 실행되지 않을 수 있습니다.이 경우 [SQL SYSDATETIME 및 SYSUTCDATETIME]에 나열된 함수 중 하나 (http://stackoverflow.com/a/31584658/1115360)가 용법. –

답변

0

내 서버가 정확한 시간대 오프셋을 사용하여 이메일 팩터 리로 보내고 있습니다. 서버가 전자 메일을 만들 때 MomentJS를 사용하여 시간이 지정되었습니다.

베어 본 moment() 함수는 시간대 오프셋 (-5 : 00)으로 시간이 걸리고 로컬 시스템의 로컬 시간으로 조정합니다.

내 컴퓨터의 현지 시간은 EST이지만 아마존 (이메일 작성 장소)은 아닙니다. 따라서 moment.parseZone()을 사용해야합니다.

moment.parseZone()으로 변경하면이 문제가 해결됩니다. 문제 해결됨.

관련 문제