Artigo: 932955 - Última revisão: terça-feira, 15 de Janeiro de 2008 - Revisão: 5.2 Como processar datas e horas que incluem a hora de Verão
Nesta páginaINTRODUÇÃOOs programadores que escrevem aplicações que processam as datas e horas podem utilizar um ou mais tecnologias que efectuam a manipulação de data e hora manipulação. Em particular, algumas APIs do sistema operativo base, o tempo de execução C (CRT) e o Microsoft .NET Framework podem converter ou caso contrário, manipular datas e horas. Este artigo descreve alguns dos conceitos gerais envolvidos em processamento de datas e horas. Além disso, este artigo descreve o efeito das alterações de 2007 hora de Verão (DST) em determinados produtos e tecnologias. Mais InformaçãoArmazenamento de tempo e manipulaçãoOs carimbos de data/hora são valores que especificarem uma combinação de data e hora. As aplicações que devem processar os carimbos de data/hora, normalmente, armazenam esses carimbos de data/hora no tempo universal coordenado (UTC). A vantagem de UTC é UTC universal. UTC é não sujeito fuso horário local ou à hora de Verão. No entanto, UTC é relevante para a maioria dos utilizadores nem amigável. Embora UTC seja a opção óbvia para armazenamento, não é uma boa escolha para visualização. Por conseguinte, a maior parte das aplicações converter a hora UTC para a hora local antes que apresentar a hora para o utilizador. Por exemplo, O Explorador do Windows aplica o fuso horário e a definição de hora de Verão para a hora UTC antes de apresentar datas e horas para ficheiros no directório de sistema de ficheiros do Windows NT (NTFS).Conversão de hora UTC para a hora local pode ser considerado como aplicar dois desvios. O primeiro é o desvio de fuso horário e o segundo é o desvio da hora de Verão. Por este motivo, hora local é efectivamente hora UTC e um desvio de fuso horário e desvio qualquer hora de Verão aplicável. O desvio de fuso horário é bastante claro. O computador está configurado para um determinado fuso horário e esse fuso horário tem um deslocamento do UTC. Para determinar se deve ser aplicado um desfasamento da hora de Verão é muito mais complexo. Esta actividade depende muitas regras complexas e dinâmico. As regras da hora de Verão complexas alterou recentemente com hora de Verão de 2007. Iniciar no 2007, Estados Unidos adoptou novas datas de início e datas de fim nova para a hora de Verão. Além disso, é comum para outros países e governos para alterar regularmente as datas de início e as datas de fim para a hora de Verão em fusos horários que estão sob seu controlo. A secção seguinte descreve os efeitos da alteração da hora de Verão de 2007 nos produtos relacionadas com programadores. Para mais informações sobre a hora de Verão de 2007, visite o seguinte Web site da Microsoft: http://support.microsoft.com/gp/cp_dst
(http://support.microsoft.com/gp/cp_dst)
Efeitos da hora de Verão de 2007 em tecnologias relacionadas com programadoresWindowsEstão disponíveis no Windows Update e no Microsoft Update, actualizações que activar o Windows aplicar correctamente as alterações da hora de Verão de 2007 e anos seguintes. Depois destas actualizações são aplicadas, o Windows calcula correctamente os deslocamentos actuais da hora UTC para a hora local como o computador passa a hora de Verão. Os deslocamentos incluem os deslocamentos para as APIs base e para as APIs relacionadas com o tempo de rede.Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 942763
(http://support.microsoft.com/kb/942763/
)
Actualização cumulativa de fusos horários Dezembro de 2007 para sistemas operativos Microsoft Windows Tempo de execução c (CRT)O CRT também executa traduções de data e hora traduções. Por conseguinte, o CRT tem também de ser actualizado para incluir as novas regras da hora de Verão de 2007. O CRT efectua respectivo tratamento de tempo apenas quando a variável de ambiente TZ está definida ou quando falha uma chamada de tempo de API do sistema operativo subjacente. As actualizações estão disponíveis para os CRTs incluídas em cada versão do Microsoft Visual Studio e também para CRTs incluídas no Windows. Estas actualizações permitem CRT continuar a processar correctamente as conversões da hora de Verão em fusos horários dos Estados Unidos.O .NET FrameworkO .NET Framework depende de chamadas de sistema operativo subjacente. Por conseguinte, o comportamento do .NET Framework reflecte o estado do sistema operativo subjacente. Não é necessária nenhum actualização em separado.Ambientes de desenvolvimento (IDEs) integrado no Visual Studio .NETO IDEs de .NET Visual Studio incluem versões 2002, 2003 e 2005 do Microsoft Visual C++, Microsoft Visual C# e Microsoft Visual Basic. Estes produtos são afectados porque incluem o CRT. É necessária actualização não específicas do IDE.O Visual Studio 2005 Team Foundation ServerO Visual Studio 2005 Team Foundation Server depende do sistema operativo subjacente para conversões de data e hora. Por conseguinte, Visual Studio 2005 Team Foundation Server revela o mesmo comportamento que o sistema operativo. O Visual Studio 2005 Team Foundation Server depende também do Microsoft SQL Server, SQL Server Reporting Services e Windows SharePoint Services. Devem ser aplicadas em computadores com as actualizações relevantes para o sistema operativo, para o SQL Server e para o Windows SharePoint Services. Todas as actualizações relevantes devem ser aplicadas em todos os computadores afectados ao mesmo tempo. Sem actualização separada do Visual Studio 2005 Team Foundation Server é necessária.Visual Studio 2005 Team SystemVisual Studio 2005 Team System é afectado através do sistema operativo, através do Visual Studio 2005 Team Foundation Server e através de CRT. Sem actualização separada do Visual Studio 2005 Team System é necessária.Visual SourceSafePara obter mais informações sobre problemas de hora de Verão Visual SourceSafe no 2007, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:931804
(http://support.microsoft.com/kb/931804/
)
Visual SourceSafe hora de Verão problemas no 2007 Runtime do Visual Basic 6.0O runtime do Visual Basic 6.0 não é afectado.Visual C++ 6.0Visual C++ 6.0 já não é suportado.Para mais informações, visite o seguinte Web site da Microsoft: http://support.microsoft.com/lifecycle/
(http://support.microsoft.com/lifecycle/)
Windows Software Development Kit (SDK) para o Windows VistaEste SDK inclui uma versão de CRT afectado pelas alterações da hora de Verão de 2007. Como parte da instalação deste SDK, pode instalar o Visual CRT de 2005 Studio em computadores que ainda não tem essa versão do CRT instalado. Se tiver uma versão mais recente do CRT instalada, a instalação do SDK não substitui esse versão mais recente. Quando o SDK é desinstalado, a versão mais recente do CRT é deixada no computador. Ou é possível instalar a actualização do Visual Studio 2005 CRT antes ou depois de instalar o SDK.O Windows SDK para Windows Vista também instala um conjunto de módulos de intercalação (ficheiros .msm) para o Visual CRT de 2005 Studio para redistribuição de CRT como parte das aplicações C++ personalizadas. Uma aplicação que implementa CRT redistribuível para a pasta instalação da aplicação tem de implementar CRT actualizada da actualização de Visual Studio 2005 CRT em vez dos ficheiros .msm CRT do SDK do Windows ' para o Windows Vista. Uma aplicação que implementa a actualização do Visual Studio 2005 CRT redistribuível para a pasta de instalação do Windows tem de liquidar a actualização redistribuível do Visual Studio 2005 CRT nesses computadores. Platform SDK para o Microsoft Windows Server 2003 R2Este SDK inclui uma versão de CRT afectado pelas alterações da hora de Verão de 2007. Os clientes têm siga as notas de lançamento para este SDK e utilize as actualizações do Visual Studio 2005 CRT se forem necessários.O .NET Framework 2.0 SDKEste SDK inclui uma versão de CRT afectado pelas alterações da hora de Verão de 2007. Como parte da instalação deste SDK, pode instalar o Visual CRT de 2005 Studio em computadores que ainda não tem essa versão do CRT instalado. Se tiver uma versão mais recente do CRT instalada, a instalação do SDK não substitui esse versão mais recente. Quando o SDK é desinstalado, a versão mais recente do CRT é deixada no computador. Ou é possível instalar a actualização do Visual Studio 2005 CRT antes ou depois de instalar o SDK.Conversão de hora local no WindowsAplicações converter normalmente horas UTC horas locais antes que apresenta informações de hora e data informações ao utilizador. O Windows fornece várias API para aplicações a utilizar para manipulação de carimbo de data/hora.
Para ver um exemplo deste comportamento no Explorador do Windows, siga estes passos num computador que reside num fuso horário com hora de Verão. Tenha em atenção que estes passos requerem que altere o relógio do sistema. Por conseguinte, tem de sair quaisquer aplicações, tais como aplicações de calendário, que podem reagir estas alterações de tempo antes de seguir estes passos.
Para mais informações, consulte este blogue: http://blogs.msdn.com/oldnewthing/archive/2003/10/24/55413.aspx
(http://blogs.msdn.com/oldnewthing/archive/2003/10/24/55413.aspx)
O método SystemTimeToTzSpecificLocalTime() e o método TzSpecificTimeToSystemTime() converter entre hora UTC e a hora local através da estrutura TIME_ZONE_INFORMATION fornecida. Se for fornecidas não informações de fuso horário, estas funções utilizam as regras de fuso horário actuais e devem ser aplicadas as regras da hora de Verão para determinar se um desfasamento da hora de Verão para a hora. É funcionalmente equivalente para chamar o método GetTimeZoneInformation() obter da estrutura TIME_ZONE_INFORMATION que se encontra actualmente em vigor. Da estrutura TIME_ZONE_INFORMATION inclui a data de início e a data de paragem para a hora de Verão. Por conseguinte, quando da estrutura TIME_ZONE_INFORMATION utiliza as informações de fuso horário actuais, da estrutura TIME_ZONE_INFORMATION pode trazer um inaccuracy histórico. Este comportamento pode ocorrer se as informações de fuso horário actual e as informações relativas à hora de Verão não reflectem a hora está a ser convertida. Este comportamento é afectado por hora de Verão de 2007, porque as regras que regem as datas quando a hora de Verão começa e pára foram alteradas. Para obter Historicamente precisas conversões destas funções, uma aplicação tem de fornecer uma estrutura TIME_ZONE_INFORMATION Historicamente correctas quando a aplicação chamar estas funções. Fusos horários dinâmicos no WindowsWindows Vista introduz dinâmicos da hora de Verão fusos horários. Hora de Verão dinâmica fornece suporte para fusos horários cujos limites para a hora de Verão alterar de ano para ano. Estas regras são armazenadas no registo. As aplicações podem consultar as regras utilizando a função GetDynamicTimeZoneInformation() .Fusos horários dinâmicos permitem mais fácil a actualização de computadores, especialmente para regiões onde os limites da hora de Verão anuais são conhecidos antecipadamente. Para mais informações sobre a estrutura DYNAMIC_TIME_ZONE_INFORMATION no Windows SDK para o Vista, visite o seguinte Web site da Microsoft Developer Network (MSDN): http://msdn2.microsoft.com/en-us/library/ms724253.aspx
(http://msdn2.microsoft.com/en-us/library/ms724253.aspx)
Conversão de hora local em que o tempo de execução C (CRT)O CRT basicamente tem três modos na qual é possível converter a carimbos de data/hora:
Nota Esta conversão segue regras específicas para os Estados Unidos. Antes de aplicar a actualização da hora de Verão de 2007, o CRT processa correctamente selos de tempo actuais em fusos horários dos Estados Unidos. Depois de aplicar a actualização da hora de Verão de 2007, o CRT também trata da passado e futuras datas dos Estados Unidos. Actualizações para o CRT estão listadas na secção ? referências ?. Conversão de hora local no .NET FrameworkO .NET Framework contém classes que armazenam e converter carimbos de data/hora. Estas classes incluem a classe DateTime , a classe de fuso horário , a classe TimeSpan e a classe DateTimeKind . Como anteriormente anotados, estas classes dependem principalmente a implementação de plataforma subjacente. Estas classes de apresentar o mesmo comportamento que o sistema operativo subjacente APIs.Um comportamento interessante registou pela classes do .NET Framework Data e hora classes relacionado com as funções que a marca de hora por um período pedido. Por exemplo, considere a função AddHours() , a função AddMinutes() e a função AddSeconds() a classe DateTime . Estas funções e com o nome do mesmo modo, incrementar apenas a hora a quantidade pedida independentemente para definições de hora de Verão. Este comportamento poderá ser considerado aritmética simples sobre a hora UTC subjacente. No entanto, este comportamento poderia conduzir a resultados inesperados quando a adição faz com que a marca de hora passar para ou fora de hora de Verão. Este comportamento é não relacionado para alterações da hora de Verão de 2007. RecomendaçõesAs seguintes recomendações podem ajudar os programadores minimizar os efeitos de hora de Verão de 2007 e melhorar geral data e hora processamento.
ReferênciasPara obter mais informações sobre o portal de hora de Verão de 2007 Microsoft, visite o seguinte Web site da Microsoft: http://support.microsoft.com/gp/cp_dst
(http://support.microsoft.com/gp/cp_dst)
Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft: 942763
(http://support.microsoft.com/kb/942763/
)
Actualização cumulativa de fusos horários Dezembro de 2007 para sistemas operativos Microsoft Windows 931975
(http://support.microsoft.com/kb/931975/
)
Como preparar o SQL Server 2005 e SQL Server 2000 para as alterações à hora de Verão de 2007 931804
(http://support.microsoft.com/kb/931804/
)
Visual SourceSafe hora de Verão problemas no 2007 Para mais informações, visite os seguintes Web sites da Microsoft Developer Network (MSDN):http://msdn2.microsoft.com/en-us/library/ms724277.aspx
(http://msdn2.microsoft.com/en-us/library/ms724277.aspx)
Para obter actualizações de hora de Verão de 2007 para o tempo de execução C (CRT), clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:http://msdn2.microsoft.com/en-us/library/ms724490.aspx (http://msdn2.microsoft.com/en-us/library/ms724490.aspx) http://msdn2.microsoft.com/en-us/library/ms725473.aspx (http://msdn2.microsoft.com/en-us/library/ms725473.aspx) 932305
(http://support.microsoft.com/kb/932305/
)
CORRECÇÃO: C 2002 do Visual C++ .NET runtime hora de Verão de 2007 actualização para o problema de variável de ambiente TZ 932304
(http://support.microsoft.com/kb/932304/
)
CORRECÇÃO: Visual C++ .NET 2002 Service Pack 1C runtime hora de Verão de 2007 actualização para o problema de variável de ambiente TZ 932299
(http://support.microsoft.com/kb/932299/
)
CORRECÇÃO: Visual C++ .NET 2003 C runtime hora de Verão de 2007 actualização para o problema de variável de ambiente TZ 932298
(http://support.microsoft.com/kb/932298/
)
CORRECÇÃO: Visual C++ .NET 2003 Service Pack 1C runtime hora de Verão de 2007 actualização para o problema de variável de ambiente TZ 932392
(http://support.microsoft.com/kb/932392/
)
CORRECÇÃO: C 2005 do Visual C++ .NET runtime hora de Verão de 2007 actualização para a variável de ambiente TZ 932391
(http://support.microsoft.com/kb/932391/
)
CORRECÇÃO: Visual C++ .NET 2005 Service Pack 1C runtime hora de Verão de 2007 actualização para a variável de ambiente TZ 932590
(http://support.microsoft.com/kb/932590/
)
CORRECÇÃO: Aplicações baseadas no Windows que utilizam a variável de ambiente TZ não podem funcionar como previsto devido a alterações à hora de Verão A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 932955
(http://support.microsoft.com/kb/932955/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo