javascript

Milisegundos a fecha con JavaScript

En varios de mis proyectos con JavaScript utilizo el timestamp en lugar de la fecha como cadena y después formateo esa cantidad de milisegundos usando Intl.DateTimeFormat.

Es decir, convierto el timestamp a una fecha con JS.

Lo ocupo en tantos lugares pero nunca me he dispuesto a compartirlo aquí por lo simple que es. Ahora como lo voy a ocupar en un proyecto de notas, vengo a publicarlo de una vez.

Así que hoy veremos cómo convertir algo como 1687479441903 en 22 jun 2023, 18:17:21 teniendo la opción de modificar el formato de la fecha y hora respetando el locale o idioma.

Nota: esto funcionará independientemente del lugar donde guardes el timestamp. Puede estar en el cliente o servidor.

Milisegundos a fecha legible con JS

En JavaScript podemos crear objetos de la clase Date para crear fechas. El constructor admite distintos parámetros, y uno de ellos es el de los milisegundos, así que solo debemos crear una nueva instancia de Date a partir de los milisegundos.

Luego podemos usar Intl.DateTimeFormat con su método format que acepta un objeto de tipo Date y devuelve una cadena con la fecha formateada.

Podemos encerrar todo eso en la siguiente función:

const formateador = new Intl.DateTimeFormat("es-MX", { dateStyle: 'medium', timeStyle: 'medium' });
const milisegundosComoFecha = (milisegundos) => {
  return formateador.format(new Date(milisegundos));
};

Fíjate que estoy creando un formateador para español de México (puedes adaptarlo según tu idioma) pasando el estilo de la fecha y la hora.

Luego dentro de la función recibo los milisegundos, instancio un nuevo objeto de tipo Date y se lo paso a formateador.format.

De este modo podemos convertir un entero representando milisegundos a una fecha totalmente legible. Y puedes cambiar los parámetros del formateador para mostrar solo la fecha, solo la hora, el día de la semana, etcétera.

Aquí te dejo más tutoriales de JavaScript.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.