Как получить 3 минуты будущей даты?

10

Я хочу получить дату 3 минуты на будущее. Например, если «сейчас»

01-Jan-70 00:00:00 GMT 

я хочу получить

01-Jan-80 00:03:00 GMT

как мне это сделать? Я работаю с busybox linux.

michelemarcon
источник
7
Мне нравится, как это 3 минуты и 10 лет ... тонко!
Лорникс

Ответы:

14

С GNU dateвы можете сделать это так просто:

date --date="3min"

Но, busyboxкажется, не такой умный (пока). Единственное надежное решение, которое я придумал, bbэто:

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

(вам не нужны busyboxчасти, если нет другой dateреализации)

Если вы хотите форматированный вывод, вы можете добавить это

busybox date -D '%s' +"%y%m%d%H%" -d "$(( `busybox date +%s`+3*60 ))"
rozcietrzewiacz
источник
6

Рабочий раствор на альпийском Linux

date -d@"$(( `date +%s`+180))"
Педер
источник
Пожалуйста, подробно расскажите о вашей команде, о том, как она работает и тому подобное. Кроме того, почему оригинальное решение не работает для вас.
LinuxSecurityFreak
1

Я должен был установить дату на +2 часа в операционной системе busybox на моем маршрутизаторе:

date "$(date +%m%d"$(( `date +%H`+2 ))"%M%Y.%S)"
user63180
источник