datefudge(1) pretend the system time is different

SYNOPSIS

datefudge [-s|--static] at_date program [arguments ...]

DESCRIPTION

datefudge is a small utility that pretends that the system time is different by pre-loading a small library which modifies the time(2), gettimeofday(2) and clock_gettime(2) system calls.

DATE FORMAT

The at_date argument can be given in any format accepted by the date(1) program, for example "2007-04-01 12:21" or "yesterday", or "next Friday".

OPTIONS

--static, -s
Mark the date as a `static' one. The above mentioned system calls will always return the date given in the at_date argument, regardless of time passing. See EXAMPLES
 below.
--help, -h
Print short usage information and exit.
--version, -v
Print version information and exit.

EXAMPLES

Basic examples:

$ datefudge "2007-04-01 10:23" date -R
Sun, 01 Apr 2007 10:23:00 +0200
$ datefudge "1 May 2007" date -R
Tue, 01 May 2007 00:00:00 +0200
$ datefudge "2 weeks ago" date -R
Wed, 16 Jan 2008 13:32:12 +0100

Non-static vs. static example:

$ datefudge "2007-04-01 10:23" sh -c "sleep 3; date -R"
Sun, 01 Apr 2007 10:23:03 +0200
$ datefudge --static "2007-04-01 10:23" sh -c "sleep 3; date -R"
Sun, 01 Apr 2007 10:23:00 +0200

AUTHOR

Written by Matthias Urlichs <[email protected]>. Modified by Robert Luberda <[email protected]>.

BUGS

There is no attempt to make this change undetectable by the program. In particular, file modification times are not modified.

COPYRIGHT

Copyright © 2003 by Matthias Urlichs.
Copyright © 2008-2016 by Robert Luberda.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of datefudge under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.