Jak zdobyć 3-minutową datę w przyszłości?


10

Chcę uzyskać datę 3 minuty w przyszłości. Na przykład, jeśli „teraz” to

01-Jan-70 00:00:00 GMT 

Chcę dostać

01-Jan-80 00:03:00 GMT

Jak mam to zrobić? Pracuję z busybox Linux.


7
Podoba mi się, jak to jest 3 minuty i 10 lat ... subtelne!
lornix,

Odpowiedzi:


14

Z GNU datemożesz to zrobić tak prosto:

date --date="3min"

Ale busyboxwydaje się nie tak mądry (jeszcze). Jedynym niezawodnym rozwiązaniem, które wymyśliłem, bbjest:

busybox date -D '%s' -d "$(( `busybox date +%s`+3*60 ))"

(nie potrzebujesz busyboxczęści, jeśli nie ma innej dateimplementacji)

Jeśli chcesz sformatowanego wyjścia, możesz to dodać

busybox date -D '%s' +"%y%m%d%H%" -d "$(( `busybox date +%s`+3*60 ))"

6

Rozwiązanie robocze na alpejskim linuksie

date -d@"$(( `date +%s`+180))"

Proszę wyjaśnić swoje polecenie, jak to działa i tym podobne. Ponadto, dlaczego oryginalne rozwiązanie nie działa dla Ciebie.
LinuxSecurityFreak

1

Musiałem ustawić datę na +2 godziny w busybox OS na moim routerze moje polecenie:

date "$(date +%m%d"$(( `date +%H`+2 ))"%M%Y.%S)"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.