“Conocimiento Sistemas>Linux

Cómo convertir/cambiar la época horaria usando la utilidad de fecha en Linux o Unix Server{13 mejores ejemplos}

2016/2/21
Técnicas de conversión de época y tiempo:

1. Convertir fecha a época:

Para convertir una fecha y hora en tiempo de época en segundos, puedes usar el comando `date` con la opción ` +%s`.

Por ejemplo, para convertir la fecha y hora "1 de enero de 1970 00:00:00 UTC" a la hora de época, utilizaría el siguiente comando:

```

$ fecha --utc -d '1970-01-01 00:00:00 UTC' +%s

```

Este comando generaría la siguiente época:

```

0

```

2. Convertir época a fecha:

Para convertir una época en una fecha y hora, puede usar el comando `fecha` con la opción ` -d @`.

Por ejemplo, para convertir la época "0" en una fecha y hora, usaría el siguiente comando:

```

$ fecha -d @0

```

Este comando generaría la siguiente fecha y hora:

```

Jueves 1 de enero 00:00:00 UTC 1970

```

3. Agregar/Restar segundos a/desde la época del tiempo:

Para sumar o restar segundos desde la época, puede usar el comando `date` con las opciones ` -d @` y ` +%s`.

Por ejemplo, para agregar 60 segundos al tiempo de época "0", usaría el siguiente comando:

```

$ fecha -d @0 +%s

```

Este comando generaría la siguiente época:

```

60

```

Para restar 60 segundos del tiempo de época "60", usaría el siguiente comando:

```

$ fecha --date='@60 segundos' -u +%s

```

5. Convierta segundos al formato de fecha:

```

$ fecha -d @ 1585233869

```

Para restar 1 día (86400 segundos) del tiempo de época:

```

$ fecha -d "ahora - 1 día" +%s

```

Aquí hay 13 mejores ejemplos de conversión o cambio de época usando la utilidad de fecha en Linux o Unix:

1. Convierta la fecha a la época, considerando la zona horaria:

Por ejemplo, para convertir la fecha y hora "1 de enero de 1970 12:00:00 p.m. EST" a tiempo de época en segundos, usaría el siguiente comando:

```

$ fecha --fecha '1970-01-01 12:00:00 EST' +%s

```

Aquí, "fecha" se usa con la opción "--date" para convertir una cadena que representa la fecha y la hora en la época. ` +%s` formatea la salida como el número de segundos desde el 1 de enero de 1970 a las 00:00:00 UTC.

Este comando generaría la siguiente época:

```

3600

```

2. Convertir la época a la fecha, considerando UTC:

Por ejemplo, para convertir la época "1585233869" a una fecha y hora en formato UTC, usaría el siguiente comando:

```

$ fecha -ud @1585233869

```

En este ejemplo, la opción `-ud` se usa con el símbolo `@` para interpretar la época de `1585233869` como una marca de tiempo Unix en UTC.

Este comando generaría la siguiente fecha y hora:

```

domingo 29 de marzo 18:24:29 UTC 2020

```

3. Convierta la hora de la época a la zona horaria local:

Para convertir la hora de época "1585233869" a una fecha y hora en una zona horaria específica, use `date -d @1585233869 -T "timezone"`, reemplazando "timezone" con la zona horaria que desee.

```

$ fecha -d @1585233869 -T "América/Nueva_York"

```

Esto mostraría:

```

domingo 29 de marzo 13:24:29 EDT 2020

```

4. Convertir fecha a época en milisegundos (milisegundos desde la época):

Para convertir una fecha como "1 de julio de 2020, 12:30 p.m." a milisegundos, use `fecha +%s%3N`, donde `+%s` son segundos desde la época y `%3N` agrega 3 dígitos para milisegundos .

```

$ fecha --fecha '1 de julio de 2020, 12:30 p.m.' +%s%3N

```

Esto genera milisegundos de época:

```

1593630600992

```

5. Convierta la época en milis a una fecha legible por humanos:

Para convertir epoch millis, como 1593630600000, en una cadena de fecha, use `date -d @epoch-millis +'%Y-%m-%d %H:%M:%S.%3N'`.

```

$ fecha -d @1593630600000 +'%Y-%m-%d %H:%M:%S.%3N'

```

Producción:

```

2020-07-01 12:30:00.000

```

6. Obtenga la fecha y hora actuales en formato legible por máquina:

`date +%s%3N` muestra milisegundos de época, lo que resulta útil al comparar dos fechas.

```

$ fecha +%s%3N

```

Producción:

```

1593633240539

```

7. Sumar o restar días de la época:

`date -d @epoch-segundos +days` ajusta el tiempo de época según el número de días especificado. Por ejemplo:

```

$ fecha -d @1593630600 +3días

```

Producción:

```

Jueves 4 de julio 12:30:00 EDT 2020

```

8. Reste fechas para calcular la diferencia:

Para calcular la diferencia entre dos fechas, encuentre los segundos de su época y reste. Por ejemplo:

```

$ hora_final=$(fecha +%s)

$ hora_inicio=$(fecha -d "2019-07-01" +%s)

$ diferencia_en_segundos=$((hora_final - hora_inicio ))

```

9. Suma o resta intervalos de tiempo:

Para sumar o restar intervalos específicos, como 5 horas y 30 minutos, de una época determinada, utilice:

```

$ fecha -d @1593630600 +5horas -30minutos

```

Producción:

```

Viernes 2 de julio 12:00:00 EDT 2020

```

10. Fecha de conteo hasta evento futuro:

Para determinar cuánto falta para una fecha específica en el futuro, convierta ambas fechas relevantes a segundos de época y calcule la diferencia. Por ejemplo:

```

$ hora_final=$(fecha -d "2021-12-25 00:00" +%s)

$ hora_inicio=$(fecha +%s)

$ segundos_hasta_Navidad=$((hora_final - hora_inicio ))

```

11. Cuenta las fechas desde el evento pasado:

De manera similar, contar el número de días transcurridos desde un evento como un cumpleaños implicaría restar los segundos de época de la fecha del evento de la fecha actual:

```

$ cumpleaños=$(fecha -d "1999-09-01" +%s)

$ hora_actual=$(fecha +%s)

$ días_desde_cumpleaños=$(( (hora_actual - cumpleaños)/(60*60*24) ))

```

12. Generar época de tiempo aleatoria:

Para crear una marca de tiempo aleatoria dentro de un rango de fechas específico, use el siguiente comando:

```

$ min_time=$(fecha -d "2019-07-01" +%s)

$ max_time=$(fecha -d "2020-07-31" +%s)

$ tiempo_aleatorio=$(shuf -i $tiempo_mínimo-$tiempo_máximo -n1)

$ fecha -d @$hora_aleatoria

```

13. Convierta períodos de tiempo legibles por humanos en segundos:

Para simplificar los cálculos de tiempo, convierta períodos de tiempo legibles por humanos a segundos usando la calculadora `expr`:

```

$ segundos_5_horas=$(expr 5 \* 60 \* 60)

$ fecha +%s -d "ahora - $segundos_5_horas segundos"

```

Esto genera la fecha/hora actual disminuida en 5 horas:

```

Viernes 9 de julio 15:02:20 EDT 2021

```

Recuerde, cuando se trata de cálculos relacionados con el tiempo, seleccionar la zona horaria adecuada es fundamental para garantizar resultados precisos.

Linux
Cómo utilizar soportes en Linux
Cómo configurar el servidor Web Apache en Linux
Cómo obtener Zune Software en Xubuntu
A Tutorial : Linux celular SPU
Cómo quitar las migas Nautilus
Cómo crear un formulario electrónico en Linux
Cómo imprimir guiones en los números de Seguro Social en el AS400
Cómo instalar DrawIt en Vim
Conocimiento de la computadora © http://www.ordenador.online