Qual é a maneira correta de obter o nome completo do mês de um DateTime
objeto?
por exemplo January
,December
.
Atualmente, estou usando:
DateTime.Now.ToString("MMMMMMMMMMMMM");
Eu sei que não é a maneira correta de fazer isso.
Use o especificador de formato personalizado "MMMM" :
DateTime.Now.ToString("MMMM");
Você pode fazer o que o mservidio sugeriu , ou melhor ainda, acompanhar sua cultura usando essa sobrecarga:
fonte
Se você deseja o mês atual, pode usar
DateTime.Now.ToString("MMMM")
o mês inteiro ouDateTime.Now.ToString("MMM")
um mês abreviado.Se você tiver outra data para a qual deseja obter a sequência do mês, depois de carregada em um objeto DateTime, poderá usar as mesmas funções desse objeto:
dt.ToString("MMMM")
para obter o mês inteiro oudt.ToString("MMM")
um mês abreviado.Referência: seqüências de caracteres de formato de data e hora personalizadas
Como alternativa, se você precisar de nomes de meses específicos da cultura, tente: DateTimeFormatInfo.GetAbbreviatedMonthName Método
DateTimeFormatInfo.GetMonthName Método
fonte
DateTime
que NÃO éDateTime.Now
. Eu pensei que erastring mon = myDate.Month.ToString("MMM")
quando, infelizmente, fiquei decepcionado ao cuspir "MMM" na minha variável de string. Que bom que você se esforçou para mostrar como usar.ToString("MMM")
a data em si para obter o mês, quando não éDateTime.Now
. E como você explicou a diferença entreMMM
eMMMM
. Melhor resposta nesta página. Parabéns.Se você receber "MMMM" como resposta, provavelmente está recebendo o mês e depois o convertendo em uma sequência de formato definido.
irá produzir "MMMM"
produzirá o nome do mês
fonte
Você pode usar o Culture para obter o nome do mês para o seu país, como:
fonte
Está
Com 4
M
s.fonte
Deveria ser apenas
DateTime.ToString( "MMMM" )
Você não precisa de todos os extras
M
.fonte
fonte