Reputation: 912
I have two Linux (CentOS 6.0) machines over here and I need to add (or remove) 5 seconds to the current date time. In the end, both my machines would have a gap of 5 seconds (one with the right time and the other one with 5 seconds more or less).
I know I can change the date with this command:
date -s "DD MMM YYYY HH:MM:SS"
but I need to be precise and it will be hard for me to run the command at the right time.
So I'd like to know if there is a way in general to add 5 seconds to the current time, a bit like when you choose your time zone compared to Greenwich (+5 hours in my case).
Upvotes: 21
Views: 51831
Reputation: 11571
You can add 5 seconds to the current time in one command using date -s "5 seconds"
.
The full manual regarding all of the date input formats that all of GNU coreutils accepts can be found online at https://www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html.
Upvotes: 36
Reputation: 1349
Actually, Linux comes with a handy function to return a time plus a modifier.
date --date='5 seconds'
You can test it from the command line with a simple
date && date --date='5 seconds'
Using this you can just write a small batch file that sets a variable to the time you want and then runs the set command.
EDIT: here's a bash script that will do it for you. It needs to be run as root
#!/bin/bash
NEWDATE=`date +%T --date '5 seconds'`;
date +%T -s "$NEWDATE";
Upvotes: 19