2010-10-25 15 views
5

Quiero mostrar el nombre del mes anterior. Mi código aparece a continuación, pero muestra el índice de ese mes. Quiero el nombre de ese mes. De acuerdo con este código dado que dipslays la punta de la herramienta como "balance de hasta 9", pero quiero mostrar "equilibrio hasta septiembre". ¿Cómo obtener el nombre de ese mes?Cómo mostrar dinámicamente el nombre del mes anterior

lblPreviousBalance.ToolTip = "Balance up to " + (DateTime.Now.Month - 1); 

Respuesta

19

Lo siguiente debe trabajar para usted:

string previousMonth = DateTime.Now.AddMonths(-1).ToString("MMMM"); 

Si quieres que en un idioma específico, se puede pasar un objeto CultureInfo al método:

string prevMonthInFrench = DateTime.Now.AddMonths(-1).ToString("MMMM", CultureInfo.GetCultureInfo("fr-FR")); 

Para obtener más opciones Puede consultar el artículo Custom Date and Time Format Strings en MSDN.

+0

lo que es CultureInfo. Es un nombre de variable u otra cosa. Si utilizo el código anterior, da error ya que CultureInfo no sale en el contexto actual. – Shalni

+1

@Shalni: añadir 'usando System.Globalization;' a las directivas using en la parte superior de su archivo. En resumen, 'CultureInfo' es una clase que representa un idioma y una región. Más información aquí: [CultureInfo] (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx) –

0

Sólo para añadir en el que la respuesta de @Fredrik Mörk, se puede especificar el formato sin llamar ToString() método. es decir, además de hacer esto:

yourDate.ToString("MMMM") 

también se puede hacer:

yourDate:MMMM 

Uso:

$"Balance Up to {DateTime.Now.AddMonths(-1):MMMM}" 
Cuestiones relacionadas