Já mostrei aqui como obter o dia da semana por extenso no charp.
Para poder escrever a data completa no formato “[dia da semana], [dia] de [mês] de [ano]” basta obter separadamente cada uma das partes como no exemplo a seguir.
O método ToTitleCase da classe TextInfo serve para converter a primeira letra da palavra para maiúsculo e os métodos GetMonthName e GetDayName da classe DateTimeFormatInfo servem para pegar o nome do mês e do dia da semana respectivamente.
CultureInfo culture = new CultureInfo("pt-BR"); DateTimeFormatInfo dtfi = culture.DateTimeFormat; int dia = DateTime.Now.Day; int ano = DateTime.Now.Year; string mes = culture.TextInfo.ToTitleCase(dtfi.GetMonthName(DateTime.Now.Month)); string diasemana = culture.TextInfo.ToTitleCase(dtfi.GetDayName(DateTime.Now.DayOfWeek)); string data = diasemana + ", " + dia + " de " + mes + " de " + ano; Response.Write(data);
No final a variável data conterá o dia por extenso. Por exemplo:
Domingo, 19 de Outubro de 2008
Para os dias menores que 10, se você preferir escreve-los com o zero antes basta aplicar o método ToString a variável dia.
string data = diasemana + ", " + dia.ToString("00") + " de " + mes + " de " + ano;