GMT e datetime

Veja nesta dica GMT e datetime.

GMT e datetime

<SPAN >Quando você está trabalhando em diversas zonas de tempo, você precisa salvar os valores<BR></FONT></FONT></SPAN><SPAN >dos dados </FONT></FONT></SPAN><SPAN >em um formato padrão – o mais obvio é começar pelo GMT. O seguinte procedimento<BR>converte o datetime em GMT e recupera dados no datetime atual do PC.</FONT></FONT></SPAN>
<SPAN > </FONT></SPAN><SPAN lang=EN-US >/*Converte Datetime para GMT</FONT></FONT></SPAN><SPAN lang=EN-US >*/</FONT></FONT></SPAN>
<SPAN lang=EN-US > </FONT></SPAN><SPAN lang=EN-US >CREATE PROCEDURE [dbo].[Convert_DateTime_to_GMT]<BR></FONT></FONT></SPAN><SPAN lang=EN-US >@dt_Date_Time as datetime<BR></FONT></FONT></SPAN><SPAN lang=EN-US >AS<BR></FONT></FONT></SPAN><SPAN lang=EN-US >select DATEADD ( hh ,<SPAN >  </SPAN>(DATEDIFF ( hh , GetDate(), GetUTCDate() )) , @dt_Date_Time )<BR></FONT></FONT></SPAN><SPAN lang=EN-US >GO</FONT></FONT></SPAN>
<SPAN lang=EN-US ></FONT></SPAN>
<SPAN lang=EN-US >/*Converte GMT para Datetime</FONT></FONT></SPAN><SPAN lang=EN-US >*/</FONT></FONT></SPAN>
<SPAN lang=EN-US >CREATE PROCEDURE [dbo].[Convert_GMT_to_DateTime]<BR></FONT></FONT></SPAN><SPAN lang=EN-US >@dt_GMT as datetime<BR></FONT></FONT></SPAN><SPAN lang=EN-US >AS<BR></FONT></FONT></SPAN><SPAN lang=EN-US >select DATEADD ( hh ,<SPAN >  </SPAN>(DATEDIFF ( hh , GetUTCDate(),GetDate() )) , @dt_GMT )<BR></FONT></FONT></SPAN><SPAN lang=EN-US >GO</FONT></FONT></SPAN>

Agora veja um exemplo de uso:

<SPAN ></FONT></SPAN>
<SPAN lang=EN-US >declare @dt<SPAN >  </SPAN>nvarchar(20)<BR></FONT></FONT></SPAN><SPAN lang=EN-US >Select<SPAN >  </SPAN>@dt =<SPAN >  </SPAN>cast('2003/10/12 13:12' as datetime)<BR></FONT></FONT></SPAN><SPAN lang=EN-US >exec Convert_GMT_to_DateTime @dt</FONT></SPAN>

Artigos relacionados