yyyy ssz formato ddthh change c# datetime formatting

c# - ssz - Formato.NET DateTime "Día" sin cero inicial



formato datetime c# (2)

En lugar de usar cadenas de formato de cadena, ¿qué hay de usar la propiedad Día?

DateTime myDate = new DateTime(2009,6,4) int result = myDate.Day;

O si realmente necesitas el resultado en formato de cadena

string result = myDate.Day.ToString();

Si está buscando obtener una parte de fecha específica de un objeto de fecha en lugar de una representación formateada de la fecha, prefiero usar las propiedades (Día, Mes, Año, Día de semana, etc.). Facilita la lectura del código. (especialmente si alguien más lo está leyendo / manteniendo que no tiene los diversos códigos de formato memorizados)

Para el siguiente código, esperaría que el resultado sea igual a 2, porque la MSDN indica que ''d'' "Representa el día del mes como un número del 1 al 31. Un día de un solo dígito está formateado sin un cero inicial".

DateTime myDate = new DateTime( 2009, 6, 4 ); string result = myDate.ToString( "d" );

Sin embargo, el resultado es en realidad igual a ''6/4/2009'', que es el formato de fecha corta (que también es ''d''). Podría usar ''dd'', pero eso agrega un cero inicial, que no quiero.


Para indicar que este es un especificador de formato personalizado (en contraste con un especificador de formato estándar), debe tener dos caracteres de longitud. Esto se puede lograr agregando un espacio (que se mostrará en la salida), o incluyendo un signo de porcentaje antes de una sola letra, como esto:

string result = myDate.ToString("%d");

MSDN