Saltar al contenido

Mostrar la Hora y Fecha Actual en Tiempo Real con C#, VB.Net y WinForm

Hola de nuevo, muchos han estado comentando sobre cómo mostrar la hora y fecha actual, esto no es muy complicado así que será un tutorial muy corto. bueno creamos un nuevo proyecto de tipo aplicación de Windows Forms de C# o Visual Basic (VB).

  • Lo primero que haremos será agregar un label para mostrar la hora (lblHora) y otra label para mostrar la fecha (lblFecha), y por último agregamos el control Timer para actualizar los la hora y fecha en tiempo real cada 100 mili-segundos (por defecto; puedes cambiar el intervalo a 1 para actualizar a cada 1 segundo).
  • Doble clic en el control Timer para crear el evento tic; para conocer la hora y fecha actual se emplea la clase DataTime, esta clase obtiene la fecha y hora local de la computadora y la función del evento tick del timer es actualizar la hora y fecha cada 100 mili-segundos (De acuerdo al intervalo que especificaste), codificamos de la siguientes manera.
private void Form1_Load(object sender, EventArgs e)
{
    timer1.Enabled = true;            
}

private void timer1_Tick(object sender, EventArgs e)
{
    lblHora.Text = DateTime.Now.ToString("hh:mm:ss");
    lblFecha.Text = DateTime.Now.ToLongDateString();
}
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
        timer1.Enabled = True
    End Sub

    Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
        lblHora.Text = DateTime.Now.ToString("hh:mm:ss")
        lblFecha.Text = DateTime.Now.ToLongDateString()
    End Sub

Hay muchas maneras de personalizar la cadena de formato, podrías pasarte a leer la documentación de la clase DateTime en Microsoft.

Cadenas con formato de fecha y hora personalizado

Una cadena con formato de fecha y hora define la representación de texto de un valor DateTime o DateTimeOffset que es el resultado de una operación de formato. También puede definir la representación de un valor de fecha y hora que se necesite en una operación de análisis para convertir correctamente la cadena en una fecha y hora. Una cadena de formato personalizado consta de uno o varios especificadores de formato de fecha y hora personalizado. Una cadena que no sea una cadena con formato de fecha y hora estándar se interpreta como una cadena con formato de fecha y hora personalizado.

Microsoft Docs

En la tabla siguiente se describen los especificadores de formato de fecha y hora personalizados, y se muestra la cadena de resultado producida por cada especificador de formato.

Especificador de formatoDescripciónEjemplos
“d”El día del mes, de 1 a 31.

Más información: Especificador de formato personalizado “d”.
2009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 15
“dd”El día del mes, de 01 a 31.

Más información: Especificador de formato personalizado “dd”.
2009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 15
“ddd”El nombre abreviado del día de la semana.

Más información: Especificador de formato personalizado “ddd”.
2009-06-15T13:45:30 -> Mon (en-US)

2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun. (fr-FR)
“dddd”El nombre completo del día de la semana.

Más información: Especificador de formato personalizado “dddd”.
2009-06-15T13:45:30 -> Monday (en-US)

2009-06-15T13:45:30 -> понедельник (ru-RU)

2009-06-15T13:45:30 -> lundi (fr-FR)
“f”Las décimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “f”.
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.05 -> 0
“ff”Las centésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “ff”.
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> 00
“fff”Los milisegundos de un valor de fecha y hora.

Más información: Especificador de formato personalizado “fff”.
6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 -> 000
“ffff”Las diezmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “ffff”.
2009-06-15T13:45:30.6175000 -> 6175

2009-06-15T13:45:30.0000500 -> 0000
“fffff”Las cienmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “fffff”.
2009-06-15T13:45:30.6175400 -> 61754

6/15/2009 13:45:30.000005 -> 00000
“ffffff”Las millonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “ffffff”.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> 000000
“fffffff”Las diezmillonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “fffffff”.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001150
“F”Si es distinto de cero, las décimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “F”.
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.0500000 -> (ninguna salida)
“FF”Si es distinto de cero, las centésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “FF”.
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> (ninguna salida)
“FFF”Si es distinto de cero, los milisegundos de un valor de fecha y hora.

Más información: Especificador de formato personalizado “FFF”.
2009-06-15T13:45:30.6170000 -> 617

2009-06-15T13:45:30.0005000 -> (ninguna salida)
“FFFF”Si es distinto de cero, las diezmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “FFFF”.
2009-06-15T13:45:30.5275000 -> 5275

2009-06-15T13:45:30.0000500 -> (ninguna salida)
“FFFFF”Si es distinto de cero, las cienmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “FFFFF”.
2009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (ninguna salida)
“FFFFFF”Si es distinto de cero, las millonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “FFFFFF”.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000050 -> (ninguna salida)
“FFFFFFF”Si es distinto de cero, las diezmillonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado “FFFFFFF”.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 000115
“g”, “gg”El período o la era.

Más información: Especificador de formato personalizado “g” o “gg”.
2009-06-15T13:45:30.6170000 -> A.D.
“h”La hora, usando un reloj de 12 horas de 1 a 12.

Más información: Especificador de formato personalizado “h”.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 1
“hh”La hora, usando un reloj de 12 horas de 01 a 12.

Más información: Especificador de formato personalizado “hh”.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 01
“H”La hora, usando un reloj de 24 horas de 0 a 23.

Más información: Especificador de formato personalizado “H”.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 13
“HH”La hora, usando un reloj de 24 horas de 00 a 23.

Más información: Especificador de formato personalizado “HH”.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 13
“K”Información de la zona horaria.

Más información: Especificador de formato personalizado “K”.
Con valores DateTime:

2009-06-15T13:45:30, Kind Unspecified ->

2009-06-15T13:45:30, Kind Utc -> Z

2009-06-15T13:45:30, Kind Local -> -07:00 (depende de la configuración del equipo local)

Con valores DateTimeOffset:

2009-06-15T01:45:30-07:00 –> -07:00

2009-06-15T08:45:30+00:00 –> +00:00
“m”Minutos, de 0 a 59.

Más información: Especificador de formato personalizado “m”.
2009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 29
“mm”El minuto, de 00 a 59.

Más información: Especificador de formato personalizado “mm”.
2009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 45
“M”El mes, de 1 a 12.

Más información: Especificador de formato personalizado “M”.
2009-06-15T13:45:30 -> 6
“MM”El mes, de 01 a 12.

Más información: Especificador de formato personalizado “MM”.
2009-06-15T13:45:30 -> 06
“MMM”El nombre abreviado del mes.

Más información: Especificador de formato personalizado “MMM”.
2009-06-15T13:45:30 -> Jun (en-US)

2009-06-15T13:45:30 -> juin (fr-FR)

2009-06-15T13:45:30 -> Jun (zu-ZA)
“MMMM”El nombre completo del mes.

Más información: Especificador de formato personalizado “MMMM”.
2009-06-15T13:45:30 -> June (en-US)

2009-06-15T13:45:30 -> juni (da-DK)

2009-06-15T13:45:30 -> uJuni (zu-ZA)
“s”El segundo, de 0 a 59.

Más información: Especificador de formato personalizado “s”.
2009-06-15T13:45:09 -> 9
“ss”El segundo, de 00 a 59.

Más información: Especificador de formato personalizado “ss”.
2009-06-15T13:45:09 -> 09
“t”El primer carácter del designador AM/PM.

Más información: Especificador de formato personalizado “t”.
2009-06-15T13:45:30 -> P (en-US)

2009-06-15T13:45:30 -> 午 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
“tt”El designador AM/PM.

Más información: Especificador de formato personalizado “tt”.
2009-06-15T13:45:30 -> PM (en-US)

2009-06-15T13:45:30 -> 午後 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
“y”El año, de 0 a 99.

Más información: Especificador de formato personalizado “y”.
0001-01-01T00:00:00 -> 1

0900-01-01T00:00:00 -> 0

1900-01-01T00:00:00 -> 0

2009-06-15T13:45:30 -> 9

2019-06-15T13:45:30 -> 19
“yy”El año, de 00 a 99.

Más información: Especificador de formato personalizado “yy”.
0001-01-01T00:00:00 -> 01

0900-01-01T00:00:00 -> 00

1900-01-01T00:00:00 -> 00

2019-06-15T13:45:30 -> 19
“yyy”El año, con un mínimo de tres dígitos.

Más información: Especificador de formato personalizado “yyy”.
0001-01-01T00:00:00 -> 001

0900-01-01T00:00:00 -> 900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
“yyyy”El año como un número de cuatro dígitos.

Más información: Especificador de formato personalizado “yyyy”.
0001-01-01T00:00:00 -> 0001

0900-01-01T00:00:00 -> 0900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
“yyyyy”El año como un número de cinco dígitos.

Más información: Especificador de formato personalizado “yyyyy”.
0001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 02009
“z”Desfase de horas con respecto a la hora UTC, sin ceros iniciales.

Más información: Especificador de formato personalizado “z”.
2009-06-15T13:45:30-07:00 -> -7
“zz”Desfase de horas con respecto a la hora UTC, con un cero inicial para un valor de un solo dígito.

Más información: Especificador de formato personalizado “zz”.
2009-06-15T13:45:30-07:00 -> -07
“zzz”Desfase de horas y minutos con respecto a la hora UTC.

Más información: Especificador de formato personalizado “zzz”.
2009-06-15T13:45:30-07:00 -> -07:00
“:”El separador de hora.

Más información: Especificador de formato personalizado “:”.
2009-06-15T13:45:30 -> : (en-US)

2009-06-15T13:45:30 -> . (it-IT)

2009-06-15T13:45:30 -> : (ja-JP)
“/”El separador de fecha.

Más información: Especificador de formato personalizado “/”.
2009-06-15T13:45:30 -> / (en-US)

2009-06-15T13:45:30 -> – (ar-DZ)

2009-06-15T13:45:30 -> . (tr-TR)
cadena

cadena
Delimitador de cadena literal.

Más información: Literales de carácter.
2009-06-15T13:45:30 (“arr:” h:m t) -> arr: 1:45 P

2009-06-15T13:45:30 (‘arr:’ h:m t) -> arr: 1:45 P
%Define el siguiente carácter como un especificador de formato personalizado.

Más información:Usar especificadores de formato personalizado únicos.
2009-06-15T13:45:30 (%h) -> 1
\El carácter de escape.

Más información: Literales de caracteres y Usar el carácter de escape.
2009-06-15T13:45:30 (h \h) -> 1 h
Cualquier otro carácterEl carácter se copia en la cadena de resultado sin modificar.

Más información: Literales de carácter.
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

Video Tutorial

Descargas