Cálculo del tiempo de shell de Linux y método de cálculo de diferencia de tiempo

  

Recientemente, al tratar con scripts de shell, encontré problemas de procesamiento de tiempo. Suma y resta del tiempo, y cálculo de la diferencia de tiempo.


1. Suma y resta de tiempo


El método de procesamiento aquí es convertir el tiempo base en una marca de tiempo, y luego, es necesario aumentar o cambiar el tiempo para que se convierta en segundos.


如: 1990-01-01 01:01:01 más 1 hora 20 minutos

Método de procesamiento:

a.Basic time Convertir a marca de hora

time1 = $ (fecha +% s -d '1990-01-01 01:01:01')

echo $ time1

631126861 Marca de tiempo]


b. Aumente el tiempo a segundos

[root @ localhost ~] # time2 = $ ((1 * 60 * 60 + 20 * 60 )) [root @ localhost ~] # echo $ time2

4800


c. Sumar dos veces y calcular el tiempo de resultado

time1 = $ (($ time1 + $ time2))

time1 = $ (fecha +% Y-% m-% d \\% H:% M:% S -d " 1970-01-01 UTC $ Tiempo1 segundos ");

echo $ time1

1990-01-01 02:21:01


2. Método de cálculo de la diferencia de tiempo


Por ejemplo: 2010-01-01 y 2009-01-01 11:11:11 Diferencia de tiempo

Principio: También convierta a marca de tiempo, luego calcule Día, hora, minuto, segundo


time1 = $ (($ (fecha +% s -d '2010-01-01') - $ (fecha +% s -d ' 2009-01-01 11:11:11 ')));

echo time1


El tiempo1 /60 segundos cambiará.


Nota adicional:

shell Operador de corchete único Símbolo:

a = $ (fecha);

Equivalente a: a = `date`;


Operador de corchete doble:

a = $ ((1 + 2));

echo $ a; < Br>

es equivalente a:

a = `expr 1 + 2`

Copyright © Conocimiento de Windows All Rights Reserved