Jeśli mam randkę w poniższym formacie w Bash

time="Mar 18 2020 01:15:19"

Muszę dowiedzieć się, czy jest w ciągu 30 minut od okna aktualna data i godzina (tj. Ma 30 minut, które upłynęły).

Więc jeśli obecny czas daty to "18 marca 2020 01:45:00", oceniłoby to prawda.

Jednakże, jeśli obecny czas daty to "18 marca 2020 02:00:00", oceniłoby fałszywe.

Jak bym to zrobił?

0
methuselah 18 marzec 2020, 14:33

1 odpowiedź

Najlepsza odpowiedź

Jak bym to zrobił?

Konwertuj czas na sekundy od epoki.

Porównaj sekundy.

time="Mar 18 2020 01:15:19"
if (( ($(date +%s) - $(date --date="$time" +%s)) < (30 * 60) )); then
     echo within;
else
    echo not within;
fi
2
KamilCuk 18 marzec 2020, 11:38