Add x seconds to the current date in Linux

2020-05-20 17:50发布

问题:

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).

回答1:

You can add 5 seconds to the current time in one command using date -s "5 seconds".



回答2:

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";


标签: date time centos