Convertir una cadena de fecha a un timestamp con JavaScript

Convertir una cadena de fecha a un timestamp con JavaScript

En programación es común manipular fechas y horas. En ocasiones, es necesario representar una fecha o hora en formato de timestamp Unix. Un timestamp es una cadena de números que representa una fecha y hora específica. Este formato es ampliamente utilizado en programación para almacenar y comparar fechas.

En este artículo, aprenderás cómo convertir una cadena de fecha en JavaScript a un formato de timestamp Unix utilizando funciones nativas de JavaScript.

📋 Aquí podrás encontrar✍
  1. Convertir una fecha en JavaScript a un timestamp Unix
  2. Convertir una fecha con otro formato a un timestamp Unix
  3. Ejemplos de uso
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿Qué es un timestamp Unix?
    2. ¿Cómo se representa una fecha en formato ISO 8601?
    3. ¿Cómo convierto un timestamp Unix a una fecha legible?
    4. ¿Puedo utilizar timestamp Unix en otras plataformas?

Convertir una fecha en JavaScript a un timestamp Unix

En JavaScript, puedes utilizar la función `Date.parse()` para convertir una cadena de fecha en formato ISO 8601 a un timestamp Unix. Esta función devuelve la cantidad de milisegundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC.

```
const fechaString = '2022-12-31T12:00:00Z';
const fechaTimestamp = Date.parse(fechaString)/1000;

console.log(fechaTimestamp); // 1672512000
```

En el código anterior, la función `Date.parse()` recibe la cadena de fecha `fechaString` y la convierte en un timestamp Unix en segundos. El resultado se almacena en la variable `fechaTimestamp`.

Ten en cuenta que la división por 1000 es necesaria para convertir el timestamp Unix en milisegundos a segundos.

Convertir una fecha con otro formato a un timestamp Unix

Si tienes una fecha en un formato distinto al ISO 8601, primero debes convertirla a este último formato antes de poder convertirla a un timestamp Unix.

Para ello, puedes utilizar la función `new Date()` de JavaScript y pasarle la cadena de fecha en el formato adecuado. Luego, puedes utilizar la función `getTime()` para obtener el timestamp Unix correspondiente.

```
const fechaString = '31/12/2022 12:00:00';
const fechaISO = fechaString.split('/').reverse().join('-').concat('T00:00:00');
const fechaTimestamp = new Date(fechaISO).getTime()/1000;

console.log(fechaTimestamp); // 1672512000
```

En el código anterior, la cadena de fecha `fechaString` está en formato DD/MM/AAAA HH:MM:SS. Primero, se utiliza el método `split()` para separar la cadena en tres partes: día, mes y año. Luego, se invierten las partes con el método `reverse()` y se concatenan con guiones. Después se agrega la cadena `T00:00:00` que indica las horas, minutos y segundos en formato UTC.

Finalmente, se utiliza la función `new Date()` para convertir la cadena de fecha en formato ISO 8601 y se extrae el timestamp Unix con la función `getTime()`.

Ejemplos de uso

- Timestamp actual:

```js
const now = Date.now()/1000;
console.log(now);
```

- Timestamp de una fecha específica:

```js
const fechaString = '2022-12-31T12:00:00Z';
const fechaTimestamp = Date.parse(fechaString)/1000;

console.log(fechaTimestamp);
```

- Timestamp de una fecha con otro formato:

```js
const fechaString = '31/12/2022 12:00:00';
const fechaISO = fechaString.split('/').reverse().join('-').concat('T00:00:00');
const fechaTimestamp = new Date(fechaISO).getTime()/1000;

console.log(fechaTimestamp);
```

Conclusión

En JavaScript, es fácil convertir una cadena de fecha a formato de timestamp Unix. Con la función `Date.parse()` y `getTime()` puedes obtener el timestamp para cualquier fecha en formato ISO 8601.

Preguntas frecuentes

¿Qué es un timestamp Unix?

Un timestamp Unix es una cadena de números que representa una fecha y hora específica. El formato de timestamp Unix se define como la cantidad de segundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC.

¿Cómo se representa una fecha en formato ISO 8601?

Una fecha en formato ISO 8601 se representa como una cadena en formato AAAA-MM-DDTHH:MM:SS.mmmZ. Donde AAAA representa el año, MM el mes, DD el día, HH las horas, MM los minutos, SS los segundos y mmm los milisegundos. La letra T separa la fecha de la hora y la letra Z indica la zona horaria en formato UTC.

¿Cómo convierto un timestamp Unix a una fecha legible?

Para convertir un timestamp Unix a una fecha legible, puedes utilizar la función `new Date()` y pasarle el timestamp en milisegundos. Luego, puedes utilizar los métodos `getFullYear()`, `getMonth()`, `getDate()`, `getHours()`, `getMinutes()` y `getSeconds()` para obtener los valores correspondientes.

```js
const timestamp = 1672512000;
const currentDate = new Date(timestamp * 1000);
const date = `${currentDate.getFullYear()}/${currentDate.getMonth()+1}/${currentDate.getDate()}`;
const time = `${currentDate.getHours()}:${currentDate.getMinutes()}:${currentDate.getSeconds()}`;
console.log(`${date} ${time}`);
```

¿Puedo utilizar timestamp Unix en otras plataformas?

Sí, el formato de timestamp Unix es ampliamente utilizado por muchas plataformas y lenguajes de programación. Por ejemplo, Unix, Linux y macOS utilizan timestamps Unix para almacenar y manipular fechas y horas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir