Em muitos sistemas que desenvolvemos, eventualmente se faz necessário implementarmos funcionalidades que apresentam ao usuário informações baseadas nas configurações regionais da máquina que ele está utilizando.
No Microsoft .NET Framework, podemos obter tais informações de forma bastante simples, como pode ser observado nos exemplos a seguir.
1 - Obtendo os nomes dos meses do ano, por extenso.
Antes de qualquer coisa, é necessário obtermos as configurações regionais da máquina:
CultureInfo cultureInfo = Thread.CurrentThread.CurrentUICulture;
Dica: Se para obter as configurações regionais baseadas em uma cultura específica, é só atribuir o nome da cultura à variável:
cultureInfo = new CultureInfo("pt-BR");
Uma vez obtidas as informações da cultura corrente, já podemos buscar os nomes dos meses do ano, utilizando a propriedade DateTimeFormat.MonthNames, do objeto cultureInfo:
string[] meses = cultureInfo.DateTimeFormat.MonthNames;
No exemplo abaixo, podemos verificar os meses retornados:
Console.WriteLine("Meses do ano:\n");
foreach (string mes in meses)
Console.WriteLine(mes);
Se quisermos ir um pouco mais além, podemos obter o nome do mês corrente:
string mesCorrente = meses[Convert.ToInt32(DateTime.Today.Month-1)];
Console.WriteLine(String.Concat("Mês corrente: ", mesCorrente));
Obs.: No exemplo acima, estamos subtraindo -1 do mês corrente pois o array dos meses inicia com zero. Veja o resultado:
2 - Obtendo os nomes dos dias da semana, por extenso.
Aqui também é necessário obter as informações da cultura corrente, conforme visto anteriormente. Depois disso, o meio de se obter os nomes dos dias da semana é basicamente o mesmo que utilizamos para obter os meses do ano:
string[] dias = cultureInfo.DateTimeFormat.DayNames;
Novamente, podemos verificar abaixo os dias retornados:
Console.WriteLine("Dias da semana:\n");
foreach (string dia in dias)
Console.WriteLine(dia);
Para identificar qual o dia corrente, também é bem simples:
string diaCorrente = dias[Convert.ToInt32(DateTime.Today.DayOfWeek)];
Console.WriteLine(String.Concat("Dia corrente: ", diaCorrente));
3 - Obtendo o símbolo da moeda corrente.
Para obter o símbolo da moeda corrente, baseado nas configurações regionais da máquina, podemos utilizar o trecho de código abaixo (lembrando que, antes disso, temos que obter as informações da cultura, como vimos nos exemplos anteriores):
string moeda = cultureInfo.NumberFormat.CurrencySymbol;
No exemplo abaixo, podemos ver o símbolo retornado:
Console.WriteLine(String.Concat("Moeda corrente: ", moeda));
Os exemplos acima estão todos em C#, porém podem ser facilmente adaptados para o Vb.Net (ou qualquer outra linguagem compatível com o .NET).
Até a próxima!