Usuário com melhor resposta
dia do mês e da semana

Pergunta
-
pessoal, preciso de uma ajuda..
terei um procedimento em que o usuário vai informar o mês, e depois os dias da semana que ele faz uma determinada tarefa.. então quero gerar uma tabela onde terá de verificar todos os dias daquele mês que corresponde a uma segunda por exemplo, e minha tabela será exibida com a data em número.. alguém pode me auxiliar com isso?
Respostas
-
eu achei na net uma função que pega a quantidade de dias do mês, e apartir dai eu desenvolvi a lógica conforme eu precisava.. segue pra quem precisar..
int qtdDias= DateTime.DaysInMonth(DateTime.Now.Year, mes);
int cont = 1;
while (cont <= qtdDias)
{
DateTime time = Convert.ToDateTime(cont + "/" + 10 + "/" + DateTime.Now.Year);
string dia = time.ToString("dddd", cultura);
if (dia == "segunda-feira")
{
}
cont++;
}- Marcado como Resposta kngipa sexta-feira, 7 de outubro de 2011 19:19
-
Kyrla,
Criei um método que busca todos os dias da semana para um determinado mês e ano. Acredito ser mais eficiente que a função que vc postou, pois não faz parse de todos os dias do mês...
Ela parte do dia 1/mes/ano e vai de 1 em 1 até encontrar o dia da semana especificado. Daí, ela vai pulando de 7 em 7 dias e para quando a data sair do mês especificado.
Fiz o retorno em uma lista, mas vc pode modificar como achar melhor.
static List<DateTime> ObterDatas(int ano, int mes, DayOfWeek diaDaSemana) { List<DateTime> datas = new List<DateTime>(); DateTime dt = new DateTime(ano, mes, 1); while (dt.Month == mes) { if (dt.DayOfWeek == diaDaSemana) { datas.Add(dt); dt = dt.AddDays(7); } else { dt = dt.AddDays(1); } } return datas; }
Espero que ajude!Abs!
- Marcado como Resposta kngipa sexta-feira, 7 de outubro de 2011 19:40
Todas as Respostas
-
Kyrla,
Dê uma olhada nesse link e veja se te ajuda:
http://msdn.microsoft.com/en-us/library/system.datetime.dayofweek.aspx
Abraço,
Carlos Eduardo Ferreira -
eu achei na net uma função que pega a quantidade de dias do mês, e apartir dai eu desenvolvi a lógica conforme eu precisava.. segue pra quem precisar..
int qtdDias= DateTime.DaysInMonth(DateTime.Now.Year, mes);
int cont = 1;
while (cont <= qtdDias)
{
DateTime time = Convert.ToDateTime(cont + "/" + 10 + "/" + DateTime.Now.Year);
string dia = time.ToString("dddd", cultura);
if (dia == "segunda-feira")
{
}
cont++;
}- Marcado como Resposta kngipa sexta-feira, 7 de outubro de 2011 19:19
-
Kyrla,
Criei um método que busca todos os dias da semana para um determinado mês e ano. Acredito ser mais eficiente que a função que vc postou, pois não faz parse de todos os dias do mês...
Ela parte do dia 1/mes/ano e vai de 1 em 1 até encontrar o dia da semana especificado. Daí, ela vai pulando de 7 em 7 dias e para quando a data sair do mês especificado.
Fiz o retorno em uma lista, mas vc pode modificar como achar melhor.
static List<DateTime> ObterDatas(int ano, int mes, DayOfWeek diaDaSemana) { List<DateTime> datas = new List<DateTime>(); DateTime dt = new DateTime(ano, mes, 1); while (dt.Month == mes) { if (dt.DayOfWeek == diaDaSemana) { datas.Add(dt); dt = dt.AddDays(7); } else { dt = dt.AddDays(1); } } return datas; }
Espero que ajude!Abs!
- Marcado como Resposta kngipa sexta-feira, 7 de outubro de 2011 19:40
-