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에 환경으로 푸시 될 때까지 나는이 변화를 볼 수 없기 때문에, 나는이 그것을 고정 알고 할 수 없습니다,하지만 난이 생각 문제.
처음 부분에 ['GETUTCDATE()'] (https://msdn.microsoft.com/en-us/library/ms178635.aspx)를 사용할 수없는 이유가 있습니까? 잘못된 시간은 얼마나 부정확합니까? 어떤 시간대에 있니? –
죄송합니다. 게시물에 ouput을 포함 시키려했으나 편집하겠습니다. 내가 그것을 사용할 수없는 이유가 없습니다. 나는 이것을 시험해 본다. – kaleoh
아, 서버 인스턴스가 UTC로 실행되지 않을 수 있습니다.이 경우 [SQL SYSDATETIME 및 SYSUTCDATETIME]에 나열된 함수 중 하나 (http://stackoverflow.com/a/31584658/1115360)가 용법. –