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

Los comentarios están cerrados.