Usuário com melhor resposta
Problemas com data

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
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
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á. *** -
-
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 -
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
-