I want to get the date 3 minutes on the future. For example, if "now" is

01-Jan-70 00:00:00 GMT 

I want to get

01-Jan-80 00:03:00 GMT

How should I do it? I'm working with busybox linux.

  • 7
    I like how it's 3 minutes and 10 years... subtle! – lornix Oct 15 '11 at 11:41

With GNU date you can do it as simple as this:

date --date="3min"

But busybox seems not so smart (yet). The only reliable solution I came up with using bb is:

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

(you don't need the busybox parts if there is no other date implementation present)

If you want a formatted output, you could add this

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

Working solution on alpine linux

date -d@"$(( `date +%s`+180))"
| improve this answer | |
  • Please elaborate about your command, as to how it works and such. Also, why does not the original solution work for you. – LinuxSecurityFreak May 9 '18 at 10:50

I had to set the date for +2 hours on busybox OS on my router my command:

date "$(date +%m%d"$(( `date +%H`+2 ))"%M%Y.%S)"
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.