none
Problemas com data RRS feed

  • Pergunta

  • Bom dia,

    Numa aplicação windows service, como posso resolver o problema de data (01/28/aaaa)?
    Eu sei que se eu mudar no registro do windows (HKEY_USERS\.DEFAULT\ControlPanel\International) resolve o problema. Mas eu tenho essa aplicação em 200 máquinas + ou -. Gostaria de nao precisar mudar isso em todas elas manualmente.

    Alguem ai, me da uma luz.... To perdido..

    Valeu.

     

     


    Fabiano
    terça-feira, 29 de março de 2011 14:15

Respostas

  • Olá Fabiano, tente isso: CultureInfo _cultureInfoBr; public CultureInfo CulturePtBr { get { if (_cultureInfoBr == null) { _cultureInfoBr = new CultureInfo("pt-BR"); } return _cultureInfoBr; } set { _cultureInfoBr = value; } } protected DateTime GetDataPtBr(string dateTime) { try { return DateTime.Parse(dateTime, CulturePtBr); } catch { return DateTime.MinValue; } } Desculpe se a formatação não sair direito, mas é que o proxy da empresa barra algumas coisas =/ Att.
    • Marcado como Resposta Fabiano P Silva quinta-feira, 31 de março de 2011 13:33
    quinta-feira, 31 de março de 2011 12:04

Todas as Respostas

  • Fabiano, explique melhor o problema que esta tendo com data?

    Você pode usar o String.Format(....) para formatar a data da maneira que  quiser.

    http://www.csharp-examples.net/string-format-datetime/

    http://blog.stevex.net/string-formatting-in-csharp/

     


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 29 de março de 2011 14:54
  • Além do String.Format, você pode configurar qual a localização que a sua aplicação vai usar.

    Dentro do namespace System.Globalization, vc tem várias opções de configurações.


    Quem sabe um dia os DataSets se extinguirão?
    terça-feira, 29 de março de 2011 16:32
  • Ola Danimar,

    Quando eu utilizo Now.Date(), é retornado 2/22/aaaa.

    Depois de ler alguns posts, descobri que alterando, pelo registro do windows, o sShortDate que está em HKEY_USERS\.DEFAULT\ControlPanel\International, o problema é resolvido.

    Mas aí vem a dificuldade, eu tenho 200 máquinas, é inviável sair alterando esse parametro em todas elas.

    Eu gostaria de saber, se existe alguma coisa que posso fazer direto em meu código para resolver. Dei uma pesquisada em Globalization e nao consigui nada.

    Já tentei utilizar String.Format. Mas mesmo assim nao funciona.

     

    Se tiver alguma ideia. Obrigado, por enquanto.

     

     


    Fabiano
    terça-feira, 29 de março de 2011 16:39
  • Olá Fabiano, tente isso: CultureInfo _cultureInfoBr; public CultureInfo CulturePtBr { get { if (_cultureInfoBr == null) { _cultureInfoBr = new CultureInfo("pt-BR"); } return _cultureInfoBr; } set { _cultureInfoBr = value; } } protected DateTime GetDataPtBr(string dateTime) { try { return DateTime.Parse(dateTime, CulturePtBr); } catch { return DateTime.MinValue; } } Desculpe se a formatação não sair direito, mas é que o proxy da empresa barra algumas coisas =/ Att.
    • Marcado como Resposta Fabiano P Silva quinta-feira, 31 de março de 2011 13:33
    quinta-feira, 31 de março de 2011 12:04
  • Olá Andre,

     

    Fiz um teste e funcionou.

    Muito obrigado pela ajuda!


    Fabiano
    quinta-feira, 31 de março de 2011 13:33