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.

michelemarcon
źródło
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 ))"
rozcietrzewiacz
źródło
6

Rozwiązanie robocze na alpejskim linuksie

date -d@"$(( `date +%s`+180))"
Peder
źródło
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)"
użytkownik63180
źródło