locked
Alteração de fuso horario e data RRS feed

  • Pergunta

  • Boa noite, 

          Tenho uma base de dados no windows azure mas estou com problemas de data. Lá já são dia 03/12/2013 e aqui é 02/12/2013. Como faço para alterar a data do banco de dados? Obrigado.

    terça-feira, 3 de dezembro de 2013 00:39

Respostas

  • Você não tem como alterar a data do banco de dados.

    Se você trabalha com Cloud, você tem que esquecer que o servidor tem estado (neste caso, a Data).

    Do mesmo jeito que você tá acessando um servidor nos EUA hoje, você pode acessar um na Europa amanhã e seu sistema não pode ficar dependendo da hora do servidor.

    O jeito mais comum de resolver isso é trabalhar sempre com a data em UTC (DateTime.UtcNow) e só converter a data quando for apresentar para o seu cliente (em um website ou um app, por exemplo).

    • Marcado como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 11:31
    quarta-feira, 4 de dezembro de 2013 12:04
  • Não. É a data local do servidor convertida para UTC

    http://msdn.microsoft.com/pt-br/library/system.datetime.utcnow(v=vs.110).aspx

    • Sugerido como Resposta Giovani Cr segunda-feira, 9 de dezembro de 2013 18:27
    • Marcado como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 11:31
    sexta-feira, 6 de dezembro de 2013 20:22

Todas as Respostas

  • Você não tem como alterar a data do banco de dados.

    Se você trabalha com Cloud, você tem que esquecer que o servidor tem estado (neste caso, a Data).

    Do mesmo jeito que você tá acessando um servidor nos EUA hoje, você pode acessar um na Europa amanhã e seu sistema não pode ficar dependendo da hora do servidor.

    O jeito mais comum de resolver isso é trabalhar sempre com a data em UTC (DateTime.UtcNow) e só converter a data quando for apresentar para o seu cliente (em um website ou um app, por exemplo).

    • Marcado como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 11:31
    quarta-feira, 4 de dezembro de 2013 12:04
  • Bom dia, 

       Esse DateTime.UtcNow retorna a data e hora que o cliente esta acessando do fuso horário dele?

    quarta-feira, 4 de dezembro de 2013 12:21
  • Não. É a data local do servidor convertida para UTC

    http://msdn.microsoft.com/pt-br/library/system.datetime.utcnow(v=vs.110).aspx

    • Sugerido como Resposta Giovani Cr segunda-feira, 9 de dezembro de 2013 18:27
    • Marcado como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 11:31
    sexta-feira, 6 de dezembro de 2013 20:22
  • Não. É a data local do servidor convertida para UTC

    http://msdn.microsoft.com/pt-br/library/system.datetime.utcnow(v=vs.110).aspx

    E ele traz esse UTC da onde? Da região que o cliente esta?
    terça-feira, 10 de dezembro de 2013 13:00
  • UTC é UTC em qualquer lugar, por isso serve como referência.

    Por exemplo, se você der um DateTime.Now em um computador no Brasil vai sair assim:

    Com horário de verão:

    DateTime.Now:      19/12/2013 18:00:00
    DateTime.UtcNow: 19/12/2013 20:00:00

    Sem horário de verão:

    DateTime.Now:      19/12/2013 17:00:00
    DateTime.UtcNow: 19/12/2013 20:00:00

    A diferença é que o DateTime.UtcNow vai estar igual em todos os servidores que você botar e, por isso, pode ser usado como referência. Na hora de mostrar para o seu cliente, basta que você converta para a data local.


    • Sugerido como Resposta Luís Rudge quinta-feira, 19 de dezembro de 2013 20:36
    • Editado Luís Rudge quarta-feira, 2 de setembro de 2015 16:43
    quinta-feira, 19 de dezembro de 2013 20:36