dateshift man page
dateshift — Moves system date for program under test
dateshift -t "<YYYY-MM-DD> [HH:MM:SS]" [ - <program> ]
Moves system date for program under test. Once the date is moved the clock continues ticking, so that the program under test is now in a time warp.
dateshift is generally more convienient than changing the system clock, and does not require root privileges.
If you do not specify a command then your shell will be run.
The dates and times are in ISO-8601 format. This means that dates are YEAR-MONTH-DAY and times are HOUR:MINUTE:SECOND. Hours are in 24-hour format.
Output help information and exit.
- -t <YYYY-MM-DD> [HH:MM:SS]
Specify the command to run in the date shifted environment
Output version information and exit.
Run in verbose output mode
dateshift sets this to the number of seconds offset
dateshift uses LD_PRELOAD to intercept calls to time() and gettimeofday()
You can run a program at a different time like so:
dateshift -t 2001-01-01 - date
To run a time shifted shell to 20th Jan 2000 do:
dateshift -t 2001-01-20
Alternatively you can run it with a time as well
dateshift -t "2001-01-20 18:00:00"
dateshift works via the run time linker's LD_PRELOAD mechanism. It will therefore not work on statically linked executables.
Also dateshift does not wrap stat() or other file based functions. Therefore programs which get file timestamps will still see the true time rather than the shifted time.
Alex Hornby <email@example.com>
Copyright � 2002,2008 Alex Hornby. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
date(1) time(2) gettimeofday(2)