En C# (Java y en todos los lenguajes) llegaremos a un punto donde tengamos que especificar el formato de presentación de la información. Al final, en cualquier proyecto, necesitaremos presentar los datos a los usuarios, y en un alto porcentaje de las ocasiones, se mostrarán en un tipo String. Para ello necesitaremos especificar la forma de presentar el dato, por ejemplo: la fecha 01/08/1976 se puede presentar de muchas formas: 01/08/1976; 08/01/1976; 1976/08/01; 1 de Agosto de 1976…
Con los números nos pasa lo mismo: especificar el número de decimales, o rellenar con ceros a la izquierda…
Formatos de Fechas
Las fechas dependen de su configuración regional que tengan en su máquina o servidor. Para presentar una fecha con un formato de texto determinado usamos la siguiente notación:
String.Format(«{0:dd/MM/yyyy HH:mm:ss}», System.DateTime.Now);
String.Format(«{0:yyyy/MM/dd HH:mm:ss}», System.DateTime.Now);
String.Format(«{0:yyyy/MM/dd}», System.DateTime.Now);
String.Format(«{0:MM/dd/yyyy}», System.DateTime.Now);
Variable | Tipo | Emjemplo | Salida |
---|---|---|---|
d | Short date | {0:d} | 13/03/2019 |
D | Long Date | {0:D} | miércoles, 13 de marzo de 2019 |
t | Short Time | {0:t} | 06:15 p.m. |
f | Full D/T | {0:f} | miércoles, 13 de marzo de 2019 06:16 p.m. |
F | Full D/T (Long) | {0:F} | miércoles, 13 de marzo de 2019 06:16:03 p.m. |
g | Default D/T | {0:g} | 13/03/2019 06:17 p.m. |
G | Default D/T (long) | {0:G} | 13/03/2009 06:18:47 p.m. |
M | Month day pattern | {0:M} | 13 marzo |
Ejemplos:
Especificador | Tipo | Ejemplo | Salida |
---|---|---|---|
dd | Day | {0:dd} | 10 |
ddd | Day name | {0:ddd} | Vie |
dddd | Full day name | {0:dddd} | Viernes |
f, ff, … | Second fractions | {0:fff} | 923 |
gg, … | Era | {0:gg} | D.C. |
hh | 2 digit hour | {0:hh} | 10 |
HH | 2 digit hour, 24h | {0:HH} | 22 |
mm | Minute 00-59 | {0:mm} | 38 |
MM | Month 01-12 | {0:MM} | 12 |
MMM | Month abbreviation | {0:MMM} | Mar |
MMMM | Full month name | {0:MMMM} | Marzo |
ss | Seconds 00-59 | {0:ss} | 46 |
tt | AM or PM | {0:tt} | PM |
yy | Year,2 digits | {0:yy} | 11 |
yyyy | Year | {0:yyyy} | 2009 |
zz | Timezone offset | {0:zz} | -5 |
zzz | Full timezone | {0:zzz} | -05:00 |
: | Separator | {0:hh:mm:ss} | 10:43:20 |
/ | Separator | {0:dd/MM/yyyy} | 11/03/2009 |
Formato numérico y otras funciones String
Ejemplos de formatos numéricos:
long Num = 666999999;
Console.WriteLine(Num.ToString(«000-000-000»)); //Se muestra 666-999-999
int Num = 123456;
Console.WriteLine(Num.ToString(«0000000000»)); //Se muestra 0000123456
Otras funciones String:
//*** ASIGNAR PARÁMETROS AL STRING
string Output;
int Value1 = 5;
int Value2 = 10;
Output = string.Format(«We have two values {0} and {1}.», Value1, Value2);
//*** OBTENER VALOR HEXADECIMAL
int integerValue = 60312;
Console.WriteLine(integerValue.ToString(«X»)); //*** Se obtiene el valor EB98
//*** SALTO DE LÍNEA
string Resultado = «Prueba de Salto de Línea.\r\n»;